第103回.Unionメソッド
UnionメソッドはApplicationのメソッドで、
複数のセル範囲を集め、1つのRangeオブジェクとして参照することができます。
セル範囲に次々に別のセル範囲を追加して、最後にまとめて処理するような場合に便利です。
Unionメソッド
Application.Union(Arg1, Arg2, Arg3, ・・・, Arg30)
Arg1 | セル範囲 (Range オブジェクト) を指定します。 |
Arg2 | セル範囲 (Range オブジェクト) を指定します。 |
Arg3 | セル範囲 (Range オブジェクト) を指定します。 |
〜 | |
Arg30 | セル範囲 (Range オブジェクト) を指定します。 |
Application.は省略可能です。
Arg1とArg2は必須です、Arg3以降はオプションになります。
使用例.
Dim MyRange As Range For i = 2 To 10 Step 2 If MyRange Is Nothing Then Set MyRange = Cells(i, 1) Else Set MyRange = Application.Union(MyRange, Cells(i, 1)) End If Next i MyRange.Value = "UNION" |
2行目から10行目までの偶数行のA列に、"UNION"と入れています。
これは、以下の処理と同じになります。
Dim i As Long Dim strRange As String For i = 2 To 10 Step 2 If strRange = "" Then strRange = Cells(i, 1).Address Else strRange = strRange & "," & Cells(i, 1).Address End If Next i Range(strRange).Value = "UNION" |
ただし、Rangeの文字列は、255文字までなので、
それ以上になる場合は、Unionメソッドを使う必要があります。
実践例
Unionメソッドは、頻繁につかうものではありませんので、
細部については、コツ用になった時に調べれば良いでしょう。
しかし、
これを知らないと解決できないような場合もでてきますので、
どのようなメソッドなのかだけは知っておいて下さい。
同じテーマ「マクロVBA入門」の記事
第100回.InputBoxメソッド(インプットボックス)
第101回.Midステートメント
第102回.Intersectメソッド
第104回.GetPhoneticメソッドとSetPhoneticメソッド(フリガナ)
第105回.Callステートメント
第106回.Functionプロシージャー
第107回.プロシージャーの引数
第108回.変数の適用範囲(スコープ,Private,Public)
第109回.列挙型(列挙体)Enum
第110回.ユーザー定義型(構造体)Type
新着記事 ・・・新着記事一覧を見る
VBAを定型文で覚えよう|ExcelマクロVBA技術解説(3月26日)
VBAスタンダード試験対策まとめ|MOS VBAエキスパート対策(3月16日)
ユーザーフォームとメニューの操作|MOS VBAエキスパート対策(3月14日)
ファイルの操作|MOS VBAエキスパート対策(3月14日)
ユーザーフォームの各種イベント|Excelユーザーフォーム(3月13日)
レジストリの操作|MOS VBAエキスパート対策(3月12日)
変数と配列|MOS VBAエキスパート対策(3月12日)
Colorプロパティの設定値一覧|VBA技術解説(3月12日)
APIとOLEオートメーション|MOS VBAエキスパート対策(3月11日)
エラーへの対処|MOS VBAエキスパート対策(3月10日)
アクセスランキング ・・・ ランキング一覧を見る
1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.定数と型宣言文字(Const)|ExcelマクロVBA入門
9.とにかく書いて見よう(Sub,End Sub)|VBA入門
10.繰り返し処理(For Next)|ExcelマクロVBA入門
このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。