VBAの条件式とステートメント

前のチュートリアルで述べたように、1行のコードは1つのステートメントです。 では、VBAのステートメントは一体何ですか?ステートメントにはどのような基本構造が含まれますか?ステートメントと条件式にはどんな関係がありますか?次のチュートリアルに詳しく説明します。

条件式

まず、ステートメントより小さいコードの構造は条件式です。 文字通りで、条件式は2つの部分に分けられます。条件と式です。組み合わせると、一つの数式で対応する値を表します。

VBAでは、1つの値を返すコードの部分は条件式と呼ばれます。

最も簡単なデータを書き出されると、条件式となります。返す値はデータの値です。(例えば、“100”という条件式は“100”を返します)

100 '=> 100
"Hello World" '=> Hello World
True '=> True
#2018-11-1# '=>2018-11-1

条件式も、複数のデータ間の演算条件式になることもあります。例えば、算術演算、論理演算、連接演算などです。

1+2 '=> 3
10 > 5 '=> True
"Hello" & "World" '=> Hello World

さらに、条件式も複数の条件式の間の演算条件式となります。この場合に、演算の順次を確保するために、複数の条件式が()で囲まれていることが一般的です。

Not (10 > 5) '=> False
(1 + 2) - (10 - 5) '=> -2

VBA関数の使用も条件式の1つです。例えば、Left関数は、文字列の左側から指定した文字数を返します。

Left("Hello World", 5) '=> Hello
Abs(-10) '=> 10
Year(#2018-11-1#) '=> 2018

もちろん、一番重要なのは、条件式に変数を使用できることです。

Dim place As String
place = "World"
"Hello" & place '=> Hello World
Left(place, 3) '=> Wor

ステートメント

プログラミングでは、条件式だけでは何もできません。条件式を他の要素と組み合わせてステートメントにする必要があります。

VBAでは、1つのステートメントは1つの完全なコマンドです。 キーワード、演算子、変数、定数、および条件式を含めます。

ステートメントには、次の3つの種類があります。

  • 宣言ステートメント、プロシージャ、変数、プロパティ、配列、および定数を宣言します。
  • 実行可能なステートメント、アクションが実行されます。例えば、プロシージャ、反復または選択条件式です。
  • 代入ステートメント、変数に値を割り当て、実行可能なステートメントの特別な形式です。

次には三つのステートメントを説明します。

宣言ステートメント

他の記事では、多くの宣言ステートメントを見てきました。 宣言ステートメントは、新しい変数(形式を含む)を宣言するために使用されます。例えば、プロシージャ、関数、オブジェクト、配列などです。

次のコードをご覧ください。

Sub MyCode()
Dim name As String
Dim age As Integer
End Sub

このコードでは、最初のステートメントは最初の行であり、1つのVBAプロシージャを宣言します。 宣言プロシージャはSubで始まり、その後にプロシージャ名()が続きます。 最後の行はプロシージャのEndステートメントで、つまりEnd Subです。

次は、変数を宣言する2つのステートメントのnameとageであり、そして、種類はステートメントで指定されました。

実行可能なステートメント

実行可能なステートメントはアクションを実行します。例えば、プロシージャ、反復または選択条件式です。

代入ステートメントを例としてコードを見てください。

Sub MyCode()
Dim name As String
Dim age As Integer
name = "本田"
age = 28
If age > 25 then
MsgBox name & " 25歳以上の場合。"
End If
End Sub

このコードでは、Ifステートメントはage変数が25より大きいかどうかを判別します。そうである場合、If … End Ifの間のコードが実行されます。そうでない場合、スキップされて実行されません。この中のIf … End Ifは代入ステートメントです。

このような代入ステートメント、VBA構文の最も重要な部分であり、次のチュートリアルに詳しく説明します。

代入ステートメント

代入ステートメントとは、変数に値を割り当て、実行可能なステートメントの特別な形式です。

代入ステートメントでは、代入演算子 「= 」の右辺の値を取り、左側の要素に格納することで構成される代入演算を実行します。

また上記のコードを見てください。今回は代入ステートメントを追加します。

Sub MyCode()
Dim name As String
Dim age As Integer
name = "本田"
age = 28
End Sub

name = “本田”とage = 28は代入ステートメントであることがはっきりです 。

また、VBAの変数は重複に割り当てることができ、その値は最後の割り当てられた値であることに注意すべきです。 これは、実際のVBA開発で非常に役立ちます。

ステートメントを書くための2つのテクニック

演算子に関わる記事で、2つの演算子について簡単に説明しました。1つは英語のコロン(:)で、もう1つは下線(_)です。

演算子说明
: (英語のコロン)2行のコードを1行に配置します
_ (下線)1行のコードを2行に分けます

: (英語のコロン)

通常、1行に複数のステートメントが配置されている場合、VBAはエラーを報告します。 1行に配置する場合は、複数のステートメントを:(英語のコロン)で連接する必要があります。

Sub MyCode()
Dim name As String : Dim age As Integer
End Sub

_ (下線)

逆に、ステートメントが長すぎる場合は、分ける必要があるかもしれません。 ステートメントをenterキーを使用して複数の行に直接分けると、VBAもエラーを報告します。 このとき、改行のところに(スペース+ _)を入力する必要があります。

Sub MyCode()
Dim name As String
name = "Hello" & _
"World"
End Sub

まとめ

条件式は値を返す式であり、ステートメントは完全なコマンドです。 ステートメントには、次の3つの種類が含まれます。

  • 宣言ステートメント、プロシージャ、変数、プロパティ、配列、および定数を宣言します。
  • 実行可能なステートメント、アクションが実行されます。例えば、プロシージャ、反復または選択条件式です。
  • 代入ステートメント、変数に値を割り当て、実行可能なステートメントの特別な形式です。

VBAでは、条件式とステートメントをさまざまな形式で組み合わせて使用し、複雑な計算と操作を実現します。 次の記事では、宣言と割り当てについて説明します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です