ExcelのVBAの学習をはじめたので、基本文法の覚え書きをしていきます!
はじめに
Excelのリボンに「開発」タブが表示されていない場合は、ファイル→その他→オプションから[リボンのユーザー設定]から「開発」をクリックして追加しましょう。
「開発」タブからVisual Basicを開くことができます。
[挿入]から、マクロを実装したいファイルに標準モジュールを追加すると、コードを書くことができるようになります。
Sub ~ End Subの中に書かれたコードが、一つのマクロの処理になります。
Sub マクロの名前()
~ここにコードを書く~
End Sub
※小技?
Sub マクロの名前までを書いてenterボタンを押すと、自動的に()とEnd Subが付与されます。
【ショートカット】
alt + F11 …Visual Basic窓(VBE)を表示・非表示する
F5 …マクロを実行する
F8 …一行ずつマクロを実行する
ctrl + enter …入力できる候補の一覧を表示する
F12 …名前をつけて保存
マクロを実行する際には、実行したいマクロのSub~End Subの間にカーソルを入れて実行してください。
また、ファイルを保存する時はファイルの種類にマクロ有効ブックを選んでください。
変数の宣言
変数を宣言する
Dim 変数名
Dim 変数名 As データ型名
'※データ型を指定しない場合は自動的にVariant型になります
ちなみに、カンマで繋ぐことで複数の変数を一度に宣言することができます。
Dim 変数名1, 変数名2, 変数名3
セルの選択
セルを選択する
Range("セル番号").Select
Range("セル番号") = 値 として値を直接いれることも可能
選択したセルを取得する
'セルに値を入力する
Selection = 値
'選択セルのフォントの色を変更する
Selection.Font.Color = RGB(0, 0, 255)
'選択セルを移動する(●行下へ, ●列右へ)
Selection.Offset(2, 0).Select
表の四隅を取得する
'基準となるセル番号↓
Range("セル番号").Select
'表の右端を取得する
Selection.End(xlToRight).Select
'表の下端を取得する
Selection.End(xlDown).Select
'表の左端を取得する
Selection.End(xlToLeft).Select
'表の上端を取得する
Selection.End(xlUp).Select
表全体を選択する
'基準となるセル番号↓
Range("セル番号").Select
'表全体を選択する
Selection.CurrentRegion.Select
'選択した表の行数を取得する
Selection.Rows.count
'選択した表の列数を取得する
Selection.Columns.Count
'表をコピーする
Selection.Copy
'表をペーストする
Range("セル番号").Paste
'書式を指定してペーストする
Range("セル番号").PasteSpecial xlPasteFormats '書式を指定する
Range("セル番号").PasteSpecial xlPasteColumnWidths '列幅を指定する
Range("セル番号").PasteSpecial xlPasteValues '値をペーストする
'表を削除する
Range("セル番号").CurrentRegion.Clear
'表の値だけを削除する
Range("セル番号").CurrentRegion.ClearContents
終わりに
適宜更新していきたいと思います。
認識間違い等あればご指摘ください(._.)