VBAチートシート – コマンド&文法リスト
Last updated on 8月 1, 2022
In this Article
VBAチートシートPDF (無料ダウンロード)
Excel VBAのチートシート(PDF)を無料でダウンロードできます。
をクリックします。
VBAチートシート
このページでは、一般的なVBAのコマンドと構文の一覧を参照できます。基本的なコマンド(例:シートの挿入)と高度な構文(例:配列の操作)が多数掲載されています。
ヒント このページを検索するには、CTRL + Fを使用してください。 このページをブックマークしてください(ChromeではCTRL + D)。
シート
説明
VBAコード
タブ名でアクティブ化
Sheets(“Input”).Activate
VBAコード名でアクティブ化
Sheet1.Activate
インデックス番号でアクティブ化
Sheets(1).Activate
次のシート
ActiveSheet.Next.Activate
ActiveSheetの取得
MsgBox ActiveSheet.Name
シートの選択
Sheets(“Input”).Select
変数にセット
Dim ws as Worksheet
Set ws = ActiveSheet
Set ws = ActiveSheet
名前/名前の変更
ActiveSheet.Name = “NewName”
シートの追加
Sheets.Add
シートと名前を追加
Sheets.Add.Name = “NewSheet”
シートを変数に追加
Dim ws As Worksheet
Set ws = Sheets.Add
Set ws = Sheets.Add
シートのコピー
Sheets(“Sheet1”).Copy Before:=Sheets(“Sheet2”)
シートを隠す
Sheets(“Sheet1”).visible = False
または
Sheets(“Sheet1”).visible = xlSheetHidden
または
Sheets(“Sheet1”).visible = xlSheetHidden
シートの非表示を解除
Sheets(“Sheet1”).Visible = True
または
Sheets(“Sheet1”).Visible = xlSheetVisible
または
Sheets(“Sheet1”).Visible = xlSheetVisible
シートの完全非表示
Sheet(“Sheet1”).Visible = xlSheetVeryHidden
シートの削除
Sheets(“Sheet1”).Delete
シートのクリア
Sheets(“Sheet1”).Cells.Clear
保護解除(パスワードなし)
Sheets(“Sheet1”).Unprotect
保護解除(パスワードあり)
Sheets(“Sheet1”).Unprotect “Password”
保護(パスワードなし)
Sheets(“Sheet1”).Protect
保護(パスワードあり)
Sheets(“Sheet1”).Protect “Password”
保護しつつVBAアクセスを許可
Sheets(“Sheet1”).Protect UserInterfaceOnly:=True
セルと範囲
解説
VBAコード
セルをアクティブ化
Range(“B3”).Activate Cells(3,2).Activate
範囲を選択
Range(“a1:a3”).Select
Range(Range(“a1”), Range(“a3”)).Select
Range(Cells(1, 1), Cells(3, 1)).Select
Range(Range(“a1”), Range(“a3”)).Select
Range(Cells(1, 1), Cells(3, 1)).Select
サイズ変更
Range(“B3”).Resize(2, 2).Select
オフセット
Range(“B3”).Offset(2, 2).Select
コピー
Range(“A1:B3”).Copy Range(“D1”)
カット
Range(“A1:B3”).Cut Range(“D1”)
削除
Range(“A1:B3”).Delete
Range(“A1:B3”).Delete shift:=xlShiftToLeft
Range(“A1:B3”).Delete shift:=xlShiftToLeft
クリア
Range(“A1:A3”).Clear
Range(“A1:A3”).ClearContents
Range(“A1:A3”).ClearFormat
Range(“A1:A3”).ClearContents
Range(“A1:A3”).ClearFormat
カウント
Range(“A1:A3”).Count
変数に設定
Dim rng as Range
Set rng = Range(“A1”)
Set rng = Range(“A1”)
マージ/アンマージ
Range(“A1:A3”).Merge
Range(“A1:A3”).UnMerge
Range(“A1:A3”).UnMerge
セルをループスルー
Dim cell As Range
For Each cell In Range(“A1:C3”)
MsgBox cell.Value
Next cell
For Each cell In Range(“A1:C3”)
MsgBox cell.Value
Next cell
行
解説
VBAコード
アクティブ化
Rows(1).Activate
Rows(“1:1”).Activate
Range(“a1”).EntireRow.Activate
Rows(“1:1”).Activate
Range(“a1”).EntireRow.Activate
高さ
Range(“A1”).EntireRow.RowHeight = 30
削除
Range(“A1”).EntireRow.Delete
行数
Range(“A1”).Rows.Count
挿入
Range(“A1”).EntireRow.Insert
最後の行
dim lRow as long
lRow = Cells(Rows.Count, 1).End(xlUp).Row
lRow = Cells(Rows.Count, 1).End(xlUp).Row
コピー
Range(“1:1”).Copy Range(“5:5”)
挿入
Range(“1:1”).Copy
Range(“5:5”).Insert
Range(“5:5”).Insert
列
解説
VBAコード
アクティブ化
Columns(1).Activate
Columns(“a:a”).Activate
Range(“a1”).EntireColumn.Activate
Columns(“a:a”).Activate
Range(“a1”).EntireColumn.Activate
幅
Range(“A1”).EntireColumn.ColumnWidth = 30
削除
Range(“A1”).EntireColumn.Delete
列数
Range(“A1”).Columns.Count
挿入
Range(“A1”).EntireColumn.Insert
最後の列
dim lCol as long
lCol = Cells(1, Columns.Count).End(xlToLeft).Column
lCol = Cells(1, Columns.Count).End(xlToLeft).Column
コピー
Range(“A:A”).Copy Range(“E:E”).Column
挿入
Range(“A:A”).Copy
Range(“E:E”).Insert
Range(“E:E”).Insert
ワークブック
解説
VBAコード
アクティブ化
Workbooks(“Book1”).Activate
最初に開いたファイルを表示
Workbooks(1).Activate
最後に開いたファイルを表示
Workbooks(Workbooks.Count).Activate
ActivateWorkbookを取得
MsgBox ActiveWorkbook.Name
ThisWorkbookを取得(VBAコードを含む)
MsgBox ThisWorkbook.Name
追加
Workbooks.Add
変数に追加
Dim wb As Workbook
Set wb = Workbooks.Add
Set wb = Workbooks.Add
開く
Workbooks.Open(“C:\example.xlsm”)
開いて変数に追加
Dim wb As Workbook
Set wb = Workbooks.Open(“C:\example.xlsm”)
Set wb = Workbooks.Open(“C:\example.xlsm”)
閉じる
Workbooks(“Book1”).Close SaveChanges:=False
Workbooks(“Book1”).Close SaveChanges:=True
Workbooks(“Book1”).Close SaveChanges:=True
保存する
Workbooks(“Book1”).Save
名前を付けて保存
Workbooks(“Book1”).SaveAs strFileName
保護/保護解除
Workbooks(1).Protect “Password”
Workbooks(1).Unprotect “Password”
Workbooks(1).Unprotect “Password”
開いて変数に追加
Dim wb as Workbook
Set wb = Workbooks(“Book1”)
Set wb = Workbooks(“Book1”)
Workbooksのすべてのワークブックをループスルー
Dim wb As Workbook
For Each wb In Workbooks
MsgBox wb.Name
Next wb
For Each wb In Workbooks
MsgBox wb.Name
Next wb
存在チェック
If Dir (“C:\Book1.xlsx”) = “” Then
MsgBox “ファイルが存在しません。”
End If
MsgBox “ファイルが存在しません。”
End If
コピークローズ
FileCopy “C:\file1.xlsx”, “C:\file2.xlsx”
設定方法
説明
VBAコード
画面表示の更新
Application.ScreenUpdating = False
Application.ScreenUpdating = True
Application.ScreenUpdating = True
アラート表示
Application.DisplayAlerts = False
Application.DisplayAlerts = True
Application.DisplayAlerts = True
イベント
Application.EnableEvents = False
Application.EnableEvents = True
Application.EnableEvents = True
キャンセルキーの有効化
Application.EnableCancelKey = xlDisabled
Application.EnableCancelKey = xlInterrupt
Application.EnableCancelKey = xlInterrupt
テキスト比較 – 大文字小文字を無視
Opetion Compare Text
変数の宣言を強制
Option Explicit
自動計算
Application.Calculation = xlManual
Application.Calculation = xlAutomatic
Application.Calculation = xlAutomatic
バックグラウンドでのエラーチェック
Application.ErrorCheckingOptions.BackgroundChecking= False Application.ErrorCheckingOptions.BackgroundChecking = True
数式バーの表示
Application.DisplayFormulaBar = False
Application.DisplayFormulaBar = True
Application.DisplayFormulaBar = True
ペインの凍結
ActiveWindow.FreezePanes = False
ActiveWindow.FreezePanes = True
ActiveWindow.FreezePanes = True
フルスクリーン表示
Application.DisplayFullScreen = False
Application.DisplayFullScreen = True
Application.DisplayFullScreen = True
改ページプレビュー
ActiveWindow.View = xlPageBreakPreview
ActiveWindow.View = xlNormalView
ActiveWindow.View = xlNormalView
スクロールバーの表示
With ActiveWindow
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
End With
With ActiveWindow
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
End With
.DisplayHorizontalScrollBar = False
.DisplayVerticalScrollBar = False
End With
With ActiveWindow
.DisplayHorizontalScrollBar = True
.DisplayVerticalScrollBar = True
End With
ステータスバーを表示する
Application.DisplayStatusBar = False
Application.DisplayStatusBar = True
Application.DisplayStatusBar = True
ステータスバーの内容
Application.StatusBar = “ただいま仕事中!!!”
Application.StatusBar = False
Application.StatusBar = False
ワークブックタブを表示する
ActiveWindow.DisplayWorkbookTabs = False
ActiveWindow.DisplayWorkbookTabs = True
ActiveWindow.DisplayWorkbookTabs = True
ユーザー名
Application.UserName = “AutomateExcel.com”
アプリケーションのキャプション
Application.Caption = “AutomateExcel Model”
ズーム
ActiveWindow.Zoom = 80
エラー
説明
VBAコード
On Error – コードを停止してエラーを表示
On Error Goto 0
On Error – エラーをスキップして実行を継続
On Error Resume Next
On Error – コード中の [Label] 行に移動
On Error Goto [Label]
エラーをクリア(リセット)
On Error GoTo -1
エラー番号の表示
MsgBox Err.Number
エラーの内容を表示
MsgBox Err.Description
独自のエラーを発生させる
Err.Raise
ファイル
説明
VBAコード
ファイルコピー
FileCopy “C:\test_old.xlsx”, “C:\test\test_new.xlsx”
ファイルの削除
Kill “C:\test\example.xlsx”
フォルダを作成
MkDir “C:\test”
フォルダからすべてのファイルを削除
Kill “C:\test\” & “*.*”
フォルダを丸ごと削除
Kill “C:\test\” & “*.*”
RmDir “C:\test\”
RmDir “C:\test\”
現在のディレクトリ
strPath = CurDir()
ThisWorkbookのパス
strPath = ThisWorkbook.Path
フォルダ内の全ファイルのループ処理
strFile = Dir(“C:\test” & “\*”)
Do While Len(strFile) > 0
Debug.PrintstrFile
strFile = Dir
Loop
Do While Len(strFile) > 0
Debug.PrintstrFile
strFile = Dir
Loop
配列
解説
VBAコード
作成
Dim arr(1 To 3 ) As Variant
arr(1) = “one”
arr(2) = “two ”
arr(3) = “three”
arr(1) = “one”
arr(2) = “two ”
arr(3) = “three”
表から作成
Dim arr(1 To 3 ) As Variant
Dim cell As Range, i As Integer
i = LBound(arr)
For Each cell In Range(“A1:A3”)
i = i + 1
arr(i) = cell.value
Next cell
Dim cell As Range, i As Integer
i = LBound(arr)
For Each cell In Range(“A1:A3”)
i = i + 1
arr(i) = cell.value
Next cell
全項目の読み込み
Dim i as Long
For i = LBound(arr) To UBound (arr)
MsgBox arr(i)
Next i
For i = LBound(arr) To UBound (arr)
MsgBox arr(i)
Next i
消去
Erase arr
配列から文字列への変換
Dim sName As String
sName = Join(arr, “:”)
sName = Join(arr, “:”)
サイズを大きくする
ReDim Preserve arr(0 To 100)
値を設定する
arr(1) = 22
コレクション
解説
VBAコード
作成
Dim coll As New Collection
coll.Add “one”
coll.Add “two”
coll.Add “one”
coll.Add “two”
表から作成
Dim coll As New Collection
Dim cell As Range
For Each cell In Range(“A1:A2”)
coll.Add cell.value
Next cell
Dim cell As Range
For Each cell In Range(“A1:A2”)
coll.Add cell.value
Next cell
項目を追加
coll.Add “Value”
前にアイテムを追加
coll.Add “Value”, Before:=1
後にアイテムを追加
coll.Add “Value”, After:=1
アイテムの読み込み
MsgBox coll (1)
項目を数える
coll.Count
全項目の読み込み
Dim item As Variant
For Each item In coll
MsgBox item
Next item
For Each item In coll
MsgBox item
Next item
アイテムの削除
coll.Remove (1)
すべての項目を削除
Set coll =New Collection
ディクショナリー
説明
VBAコード
必要なリファレンス
ツール > 参照設定 > Microsoft Scripting Runtime
作成
Dim dict As New Scripting.Dictionary
dict.Add “”
dict.Add “”
dict.Add “”
dict.Add “”
表から作成
Dim dict As New Scripting.Dictionary
Dim cell As Range
Dim key As Integer
For Each cell In Range(“A1:A10”)
key = key + 1
dict.Add key, cell.Value
Dim cell As Range
Dim key As Integer
For Each cell In Range(“A1:A10”)
key = key + 1
dict.Add key, cell.Value
項目を追加
dict.Add “Key”, “Value”
値の変更
dict(“Key”) = “Value”
値の取得
MsgBox dict(“Key”)
値のチェック
If dict .Exists(“Key”) Then
MsgBox “存在する”
End If
MsgBox “存在する”
End If
項目を削除
dict.Remove(“Key”)
すべての項目を削除
dict.RemoveAll
項目をループする
Dim key As Variant
For Each key In dict.Keys
MsgBox key, dict(key)
Next key
For Each key In dict.Keys
MsgBox key, dict(key)
Next key
アイテムのカウント
dict.Count
キーの大文字と小文字を区別する
dict.CompareMode = vbBinaryCompare
キーの大文字と小文字を区別しない
dict.CompareMode = vbTextCompare
AutoMacro – 究極のVBAアドイン
AutoMacro:VBAアドインは、何百ものすぐに使えるVBAコード例とその他を備えています。