thumb

中山テック 代表の中山です。

さて、普段からVBAで開発している方は除きますが、たまにVBA使うと構文忘れる事ありませんか?

私は、よくあります(汗

という訳で今回は忘れっぽい中山テック代表向けにVBA構文を備忘的に残したいと思います。

参考になるのであれば是非ご覧ください。

Excel公式

blog-20231227-01
Dim 変数名 AS 型

簡単なガントチャートを作った時のVBAを流用しています

構文は上記の通りで、変数名は「何に使う」か、わかりやすい名前を付けてあげましょう。

そして型は数字や日付といった用途に合わせて指定します。

型名意味
Integer-2,147,483,648 から 2,147,483,647 までの
符号付き 32 ビット (4 バイト) の整数を保持
String文字列。ダブルクォート("文字")で囲みます
Date日付の型。前回のブログではセルに指定した
日付を格納するために使っていた
WorksheetExcelのシートオブジェクト。
主にシート内を検索するVBAを組む時に使ったり
Microsoft Learnより抜粋。よく使う型を抜粋

IF文

blog-20231227-02
IF 条件式(例:A=1とか) Then

【処理】

Else If(条件式) Then  ←省略可

【処理】

Else          ←省略可

【処理】

End If

条件分岐の際に使用します。

上記画像では指定の日付がFROMとTOの間に入っているかを判定しています。

2つの条件がある場合はAND(かつ)やOR(または)等を指定します。

IF ~ ThenとEnd Ifは必須で、Else IFやElseはなくても問題ありません。

FOR文

blog-20231227-03
FOR 開始条件(i=0とか) TO 終了条件(100とかループ回数)
【処理】
Next 開始条件の変数

指定回数分、ForとNext変数の間の処理を繰り返します(ループ)。

ForとNext変数はセットであると覚えて頂ければと。

始点と終点の間はTOでつなぐこともお忘れなく。

また、Forループを抜ける際は「Exit for」を定義します。

  • Excel関連記事(記事はまだまだ続きます)

プロシージャ

Subプロシージャ

Sub プロシージャ名

【処理】

End Sub
blog-20231227-04

いわゆるmain関数と同じような感じで、始点に当たります(原点にして頂点)。

複数定義も可能で、マクロの実行の際にはそれぞれ独立して実行することが出来ます。

上記のa1cellプロシージャはA1セルに「Hello World」と入れるだけの簡単な処理です。

全てのシートで適用可能です。

blog-20231227-05
blog-20231227-06
シートが100個あっても簡単に適用されます

Functionプロシージャ

blog-20231227-07
Function プロシージャ名(変数名 As 型) ※変数名はなくてもOK

  プロシージャ名 = 返却値

End Function

こちらもプロシージャではありますが、マクロの実行が出来ません。

そして返却値を返す場合はFunctionプロシージャ名に代入します。

詳しくはこちらのページもご覧ください。

blog-20231227-08

まとめ

備忘なのでメモ書きみたいになってすみません。

しかし、普段から使っていない場合の構文確認としては十分かと思います。

私と同じように毎日のように開発していない方がご覧になり「参考になった」と思って頂けたら幸いです。

最後までご覧いただき、ありがとうございました。

おすすめの記事