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")" シート名を使ってアクセス