Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
Re:連続したセルと離れたセルを選択
投稿日時: 24/06/30 09:01:01
投稿者: Suzu

https://www.moug.net/faq/viewtopic.php?t=82813
連続したセルと離れたセルを選択
 
について、バルバロッサ さん
 

引用:
Range("B2:F2,B4:F4").Select
と連続したセルを指定する場合はコロン:
を使い,離れたセルを指定する場合はコンマ,

 
引用:
B2〜F2を連続したセルを指定する場合
Range(Cells(2,2), Cells(2,6)).Select
とコンマで指定すると思います。
これをコロンに変えるとエラーが出る

 
との事ですが、
 
使用している Range は Rangeプロパティーです
 
Application.Range プロパティ (Excel)
https://learn.microsoft.com/ja-jp/office/vba/api/excel.application.range
 
引用:
Cell1    必須    バリアント型 (Variant)    範囲の名前を指定します。 A1 形式の参照をコード記述時の言語で指定します。 範囲名には、範囲を表す演算子 (:)、共通部分を表す演算子 (スペース)、または複数の範囲を表す演算子 (,) を含めることができます。 ドル記号を含めることもできますが、無視されます。 範囲の任意の部分でローカル定義名を使用します。 名前を使用する場合、その名前はコード記述時の言語で表されたものと見なされます。
Cell2    省略可能    バリアント型 (Variant)    セル範囲の左上隅と右下隅のセルを指定します。 各引数には、単一のセル、列全体、または行全体を含む Range オブジェクト、あるいはコード記述時の言語で単一のセルの名前を示す文字列を指定できます。

 
引用:
Range("B2:F2,B4:F4")

は、『,』が文字列の中 に含まれていて
Rangeプロパティーに対しては 第一引数 のみの指定
 
引用:
Range(Cells(2,2), Cells(2,6))

は、『,』は、Rangeプロパティー の 引数の 区切りを示す記号として使用され
Rangeプロパティーに対しては 第一 第二 引数の指定
 
を行っている事になります。
 
「,」の役割が違っている事を理解する必要があります。
 
そのうえで、
引用:
これをコロンに変えるとエラーが出る

は、引数の区切り記号を、「:」に変えており、そういう構文は無いのでエラーになっています。
 
 
引用:
例えば , A1, B3, B7を選択する場合

については、
Range(Cells(1, "A").Address & "," & Cells(3, "B").Address & "," & Cells(7, "B").Address).Select
 
の様なやり方もあります。
 
ただ、コードを記載する上で、わざわざ.Address を指定するよりは
Union の方が すっきりしますね。

投稿日時: 24/07/02 07:43:37
投稿者: Suzu

閉じます。