日本語入力ソフトとVBAの覚え書き

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるExcel VBA集

(Excel VBA) よく使うブック、シート、セルの指定方法

f:id:dz_dzone:20170724134148j:plain
VBAのコードでよく使うブック、シート、セルの指定方法をまとめてみました。

ウィンドウ

Excel2010までは一つのウィンドウ内にブックが複数存在できるMDI方式でした。Excel2013からは一つのウィンドウが一つのブックのSDI方式になっています。

' アクティブなウィンドウ
ActiveWindow

ブック

' 全てのブック
Workbooks

' このブック (コードが書かれているブック)
ThisWorkbook

' アクティブなブック (現在一番手前にあるブック)
ActiveWorkbook

シート

' 全てのシート (ワークシート, グラフシート, その他のシートを含む)
Sheets

' 全てのワークシート
Worksheets

' 選択されたワークシート(1つ以上)
SelectedSheets

' アクティブなシート
ActiveSheet

' 名前が'Sheet1'のワークシート
Worksheets("Sheet1")

' シートインデックス(左から1, 2, 3,……)による指定
Worksheets(1)

セル (単一セル)

' アクティブなセル(現在のセル。カーソルが乗っているセル)
ActiveCell

' A2セル (2行目, 1列目)
Range("A2")
Cells(2, 1)

' R行目, C列目 (R = Rows:行, C = Column:列)
Cells(R, C)

' 使用している範囲の最終セル (入力されていたり、書式が設定されている)
SpecialCells(xlCellTypeLastCell)
SpecialCells(xlLastCell)

' 選択範囲内の一番はじめのセル(左上のセル)
Selection(1)

' 選択範囲内の最終セル(右下のセル)
Selection(Selection.Count)

セル (範囲)

' 全てのセル
Cells

' 選択されたセル範囲
Selection

' A1:C5
Range("A1:C5")
Range(Cells(1, 1), Cells(5, 3))

' 1行目
Rows(1)

' 3行目~5行目
Rows("3:5")
Range("3:5")
Range(Rows(3), Rows(5))

' A列(1列目)
Columns("A")
Columns(1)

' C列~E列(3列~5列)
Columns("C:E")
Range("C:E")
Range(Columns(3), Columns(5))

最終セル、最終行、最終列の選択

' 最終セルの選択
SpecialCells(xlLastCell).Select

' 最終行の選択
Cells.SpecialCells(xlLastCell).EntireRow.Select

' 最終列の選択
Cells.SpecialCells(xlLastCell).EntireColumn.Select