パソコン忘備録
VBA基本
最終更新:
Bot(ページ名リンク)
-
view
VBA基本
| Option Explicit | 強制変数明示宣言 |
| Const name = xxxx | 定数定義 |
| Option Base 1 | 配列開始位置定義(0または1のみ) |
| Function func(ByVal ・・・) | 関数定義 |
| Dim varname As xxxx | ByVal ・・・ 値渡し (ByVal 変数名 As データ型) |
| ByRef ・・・ 参照渡し (ByRef 変数名 As データ型) | |
| End Function | |
| Sub subname() | プロシージャー定義 |
| Dim varname As xxxx | 変数定義 |
| Dim vname1 As xxx, vname2 As yyyy | |
| On Error Resume Next | エラー処理 |
| Set setname = xxx | オブジェクト変数定義 |
| If ・・・・ then | 条件分岐(真偽分岐) |
| Elself ・・・ then | |
| Else ・・・・ | |
| End if | |
| With object | オブジェクト詳細設定 |
| .xxxx | |
| End With | |
| For Each var In range("A1:A10") | 配列に対してループ処理 |
| ・・・ | |
| Next | |
| Select Case | 条件分岐(値分岐) |
| Case name1 | |
| Case name2 | |
| End Select | |
| For cntvar = 0 To 100 Step 2 | ループ処理 |
| ・・・・ | |
| Next cnt | |
| Do Until xxx | 条件満足ループ(先判定) |
| ・・・・ | |
| Loop | |
| Do xxx | 条件満足ループ(後判定) |
| ・・・・ | |
| Loop Until xxx | |
| Do While | 条件満足中ループ(先判定) |
| ・・・・ | |
| Loop | |
| Do | 条件満足中ループ(後判定) |
| ・・・・ | |
| Loop While | |
| On Error Goto LABEL | エラー処理(ラベル先へ移動) |
| ・・・・ | |
| LABEL: | |
| ・・・・ | |
| On Error Goto 0 | エラー処理を中断 |
| Resume LABEL2 | 処理継続(ラベル先へ移動) |
| ・・・・ | |
| LABEL2: | |
| ・・・・ | |
| End Sub | |
| Sub Auto_Open | 自動実行プロシージャ |
| ・・・・ | Workbook_Open と Auto_Open |
| End Sub | Workbook_BeforeClose と Auto_Close は、 |
| 動作こそ同じですが、手動実行とVBA実行時で挙動が異なります。 | |
| VBAから自動実行させたい場合はWorkbook_~で記述する必要があります。 |
備考
ステートメントは上記以外に、下記のものがある。
ステートメントは上記以外に、下記のものがある。
| Mid | 文字置き換え。Excel関数のmidと同じ内容 |
| Option Compare Text | 比較モード。TextかBinaryかを指定する。 |
| Exit xxx | 処理を終了する。(Exit Do, Exit For, Exit Function, Exit Sub, Exit Property) |
| GoSub LABEL~Exit Sub ~LABEL:label~Return | サブルーチン処理。処理をラベルへ移し、ラベル内処理が終わるとGoSubへ処理が戻される。 |
| GoTo LABEL | ラベル先の処理を実施する。 |
| Call prodedurename(var , var) | プロシージャーを呼び出す。 |
| Randomize | 乱数初期化 |
| Rnd | 乱数 |
| Public 変数 | パブリック変数 |
| Private 変数 | プライベート変数 |