日曜日, 3月 26, 2023

Excel VBA 08 
単純処理で動きの流れを把握する

単純処理の記述の理解で動きの流れをつかむことが大切です。

■B2とC2の合計をメッセージボックスに表示
Set

--------------------
Sub 四則演算の加算()
Dim data1, data2 As Range
' data1とdata2はRange設定
Set data1 = Range("B2")
' B2セルの値をdata1に入れる
Set data2 = Range("C2")
' C2セルの値をdata2に入れる
MsgBox data1 + data2
' メッセージボックスにdata1とdata2の加算結果を表示
End Sub
--------------------


■F3セルの値が180以上であれば、メッセージボックスに「合格です。単位は出ます。」を表示し、それ以外の場合はメッセージボックスに「再試験を受けてください。」を表示
実用的ではありませんが、処理の流れを理解します。
If・・・Then・・・ Else・・・End If

--------------------
Sub 試験の判定01()
If Range("F3").Value >=180 Then
' F3セル値が180以上であれば
MsgBox "合格です。単位は出ます。"
' メッセージボックスに「合格です。単位は出ます。」を表示
Else
' そうでなければ
MsgBox "再試験を受けてください。"
' メッセージボックスに「再試験を受けてください。」を表示
End IF
End Sub
--------------------


■C3〜E3の合計をF3に表示
With・・・End With

--------------------
Sub 試験結果の合計()
Range("F3").Select
'F3セルを選択
With ActiveCell
'以下の構文でWithステートメントを開始
.Value = .Offset(0, -3).Value + .Offset(0, -2).Value _
+ .Offset(0, -1).Value
'アクティブセルに3つ左隣の値、2つ左隣の値、1つ左隣の値を加算
End With
'Withステートメントを終了
End Sub
--------------------
※行末のアンダースコア「_」はソースは開業せず続くと言う意味になります。

■F4セルの値が180以上であれば、メッセージボックスに「合格です。単位は出ます。」を表示し、それ以外の場合はメッセージボックスに「再試験を受けてください。」を表示。
If・・・Then・・・ Else・・・End If

--------------------
Sub 試験の判定01()
If Range("F4").Value >=180 Then
' F4セル値が180以上であれば
MsgBox "合格です。単位は出ます。"
' メッセージボックスに「合格です。単位は出ます。」を表示
Else
' そうでなければ
MsgBox "再試験を受けてください。"
' メッセージボックスに「再試験を受けてください。」を表示
End IF
End Sub
--------------------


■F4セルの値が180以上であれば、指定のセルに「合格です。単位は出ます。」を表示し、それ以外の場合は指定のセルに「再試験を受けてください。」を表示。
If・・・Then・・・ Else・・・End If

--------------------
Sub 試験の判定02()
If Range("F4").Value >=180 Then
' F4セル値が180以上であれば
Range("G4").Value = "合格です。単位は出ます。"
' G4セルに「合格です。単位は出ます。」を表示
Else
' そうでなければ
Range("G4").Value = "再試験を受けてください。"
' G4セルに「再試験を受けてください。」を表示
End IF
End Sub
--------------------