入力したデータを条件判断し結果を表示する方法について説明します。今回はIF文とFor~Next文の組み合わせによる単純判断について説明します。
例題
名前欄(A列の3行目~8行目セル)に”大山”の名前が入力されている場合は結果欄(B列セル)に”●”を表示し、”大山”以外の名前が入力されている場合は結果欄に”×”を表示するプログラミング方法となります。
[実行前]:
A列の3行目~8行目に名前が入力されている。
[実行後]:
名前欄に”大山”が入力されている場合は”●”、"大山"以外が入力されている場合は”×”をB列の結果欄に表示する。
プログラミング
プログラミングは以下の通りとなります。
[記述例]:
Sub サンプル()
Dim 行 As Double
For 行 = 3 To 8
If (Trim(Range("A" & 行)) = "大山") Then
Range("B" & 行) = "●"
Else
Range("B" & 行) = "×"
End If
Next
End Sub
最初に変数:行を指定します。
次にFor~Next文を使用して変数:行に3~8までの数値を順次セットしながらループさせます。
このループによりA列の3行目~8行目に入力されている名前を条件判断します。
条件判断にはIF文を使用し、入力されたデータが”大山”であるか否かの判断をするTrim(Range("A" & 行)) = "大山"を記述します。Trim関数は文字列前後にスペース文字が入っていた場合に取り除くための指定となります。
結果はB列のセルに出力するため、A列のセルに”大山”が入力されている場合はB列セルに”●”を表示するRange("B" & 行) = "●"を記述し、A列のセルに”大山”以外が入力されている場合はB列セルに"×"を表示するRange("B" & 行) = "×"を記述します。
ループ内の処理内容を説明すると、
---------------------------------
まず最初に変数:行に3がセットされ、A3セルの名前が”大山”であるか否かを判断します。A3セルには”久保木”の名前が入力されているため、B3セルへの結果は”×”をセットします。
---------------------------------
次に変数:行に4がセットされ、A4セルの名前が”大山”であるか否かを判断します。A4セルには”照沼”の名前が入力されているため、B4セルへの結果は”×”をセットします。
---------------------------------
次に変数:行に5がセットされ、A5セルの名前が”大山”であるか否かを判断します。A5セルには”大山”の名前が入力されているため、B5セルへの結果は”●”をセットします。
---------------------------------
次に変数:行に6がセットされ、A6セルの名前が”大山”であるか否かを判断します。A6セルには”遠藤”の名前が入力されているため、B6セルへの結果は”×”をセットします。
---------------------------------
次に変数:行に7がセットされ、A7セルの名前が”大山”であるか否かを判断します。A7セルには”落合”の名前が入力されているため、B7セルへの結果は”×”をセットします。
---------------------------------
次に変数:行に8がセットされ、A8セルの名前が”大山”であるか否かを判断します。A8セルには”鈴木”の名前が入力されているため、B8セルへの結果は”×”をセットします。
---------------------------------
との意味になります。
ダンロード
上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。