Excel VBA の備忘録
最初に
ファイル→オプション→リボンのユーザー設定→開発にチェック
よく使う文法など
・マクロの構成
Sub マクロ名()
End Sub
この二つに囲まれたものがマクロになる。
"MsgBox" メッセージの表示に使用する。
ex) MsgBox "Hello World!"
" ' " 文頭にシングルクォーテーションを付けることでそれ以降の文字はコメント扱いになる。
"Debug.Print"
DebugオブジェクトのPrintメソッドを使うことで、プロシージャの実行中に、変数やプロパティなどの値をイミディエイトウィンドウに出力することができる。
セルの値を操作する
"Range"と"Cells" オブジェクト
文字の入力 .Value
ex1) Range("A1:C3").Value = "range1"
→A1とC3の範囲内に「range1」を入力
ex2) Range("D4").Value = "range2"
→D4セルに「range2」を入力
ex3) Cells(5, 5).Value = "cell"
→5行目、5列目「cell」を入力
文字の削除 .ClearContentsとDelete
ex)Range("D4").ClearContents
ex)Range("D4").Delete
引数がない場合はセルは上方向につめる。
オブジェクトとプロパティ/メソッド
プロパティ | 用途 |
---|---|
Value | セルの値の入力 |
Width | セルの幅の取得 |
interior | セル書式にかかわるInteriorオブジェクトへアクセスする |
引数
引数は「引数名:=値」で表現する。
Deleteメソッドを使用してセルを詰めする場合は
ex) Range("b1").Delete shift:=xlShiftToLeft(左に詰める)
ex) Range("b1").Delete shift:=xlShiftToUp(上に詰める)
オブジェクトへのアクセス
コレクション経由でオブジェクトを指定する場合「Worksheetsコレクション」や「Workbooksコレクション」を使用する。
"Worksheets(1)" インデックス番号を使ってアクセス
"Worksheets("Sheet1")" シート名を使ってアクセス