ExecuteExcel4Macro

ExcelVBAはそれだけで便利ですが、その中でも"ExecuteExcel4Macro"はとても便利です。これは指定したブックのセルの値をそのファイルを開かなくても持ってくることができる機能です。

基本構文は以下のとおりです。

 

ExecuteExcel4Macro("'C:\Excel\[test.xls]Sheet1'!R1C2")

 

例えばセルA1に値を入れたい場合は、

Range("A1").Value=ExecuteExcel4Macro("'C:\Excel\[test.xls]Sheet1'!R1C2")

とすると、セルA1にtest.xlsのSheet1のセルB1の値が代入できます。

 

パスやブック名、シート名を変数に代入することで柔軟にデータを入力できるので、いろいろな場面で使って時間短縮できます。


Application.GoTo reference

この機能も大変便利です。自分の行きたい場所へ瞬時に移動できます。

基本構文は

 

 Application.GoTo reference:=Worksheets("シート名").Range("探したい範囲").Find(what:="探すキーワード", lookat:=xlWhole), Scroll:=True

 

です。offset関数やシート名、キーワードに変数を割り当てることで自由に移動、入力ができて大変便利です。業務では国保請求シートの利用者検索ユーザーフォームのListBox1_MouseUpイベントに設定して使っています。

 


簡単なカレンダー作成手順

こんな感じで勤務表が作れます。月数を入力するとボタン一発で自動作成されます。日曜日は自動で赤に塗りつぶされ、うるう年にも対応してます。
こんな感じで勤務表が作れます。月数を入力するとボタン一発で自動作成されます。日曜日は自動で赤に塗りつぶされ、うるう年にも対応してます。

Excelは米国MicroSoft Corporationの登録商標です。