エクセルを使っていて、今の状態のディレクトリであったり、ファイル名であったり、セル番地等を知りたいときがあると思います。その現在の状態を調べるときに使えるマクロ構文をご紹介いたします。
ディレクトリ(パス)を調べる構文
ディレクトリ = ActiveWorkbook.Path
「ディレクトリ」は、変数です。
ファイル名を調べる構文
ファイル名 = ActiveWorkbook.Name
「ファイル名」は、変数です。
現在の入力セル番地を調べる構文
入力セル番地 = ActiveCell.Address(ColumnAbsolute:=False, RowAbsolute:=False)
入力セル行を調べる
入力セル行 = ActiveCell.Row
入力セル列を調べる
入力セル列 = ActiveCell.Column
この時、列はABCではなく、数字でかえってきます。
現在の選択セル番地を調べる構文
選択セル番地 = Selection.Address(ColumnAbsolute:=False, RowAbsolute:=False)
「選択セル番地」は変数です。
選択セル番地 = Selection.Address(ColumnAbsolute:=False, RowAbsolute:=False) の”False”を”true”にすると、$がついて絶対セル番地となります。また、 ”true” の場合であれば()括弧の中の引数は省略できます。
まとめたマクロ
Sub 自分を知る() ' ' 自分を知る Macro Cells(5, 2) = "ディレクトリ" ディレクトリ = ActiveWorkbook.Path Cells(5, 4) = ディレクトリ Cells(6, 2) = "ファイル名" ファイル名 = ActiveWorkbook.Name Cells(6, 4) = ファイル名 Cells(7, 2) = "入力セル番地" 入力セル番地 = ActiveCell.Address(ColumnAbsolute:=False, RowAbsolute:=False) Cells(7, 4) = 入力セル番地 Cells(8, 2) = "入力セル行" 入力セル行 = ActiveCell.Row Cells(8, 4) = 入力セル行 Cells(9, 2) = "入力セル列" 入力セル列 = ActiveCell.Column Cells(9, 4) = 入力セル列 Cells(10, 2) = "選択セル番地" 選択セル番地 = Selection.Address(ColumnAbsolute:=False, RowAbsolute:=False) Cells(10, 4) = 選択セル番地 End Sub
説明
Cells(5, 4) はD5セルのこと、 Cells(6, 4) はD6セルのこと、 Cells(7, 4) はD7セルのことです。
マクロを動かすと、現在のエクセルシートのD5にディレクトリ(パス)を入れて、D6にファイル名、D7に入力セル番地等が入力されます。B列には、それぞれの項目名が入ります。
コメント