2012年4月1日日曜日

[EXCEL][マクロ]別のEXCELファイルを開く

マクロを実行しているEXCELファイル以外の別のEXCELファイルをオープンする場合は、次のように記述する。

Workbooks.Open [EXCELファイルのフルパス名]

必ずフルパス名でファイルを指定する必要があるので注意を要する。
例えば"C:\sample\sample.xls"を開く場合は、次のように記述する。

Workbooks.Open "C:\sample\sample.xls"

複数のEXCELファイルが開かれている場合、セルの値は次のように取得する。
なお、ここで指定するファイル名は、フルパス名ではなくファイル名となる。

Workbooks([EXCELファイル名]).Sheets([シート名]).Range([セルの位置])

Workbooksを前置し、どのワークブックのどのシートのどのセルかを指定すればアクセスできる。
また、セルの値は次のように記述して取得することもできる。

Workbooks([ファイル名]).Sheets([シート名]).Cells(line, column)

例えば次のように記述した場合、

Workbooks("Sample.xls").Sheets("Sheet1").Cells(1, 1)

既に開かれている"Sample.xls"というEXCELファイルの"Sheet1"シートの、1行目1列目(A1のこと)を取得することができる。
Rangeでのアクセスは直観的で便利だが、ループ処理でループ変数を使用したサクセスではCellsの方が使いやすい。

0 件のコメント:

コメントを投稿