Excel VBA 勉強メモ(第7章練習問題)

  • テキストは、FOMの 「Excel2002マクロ/VBA入門」。
  • 動作確認は、Excel2003にて。

問題 If~Then

“セル【C16】に「平日」「休日」を、【D16】に勤務時間を入力し、
プロシージャを実行すると日給をセル【E16】に表示するプログラムを作成しましょう。
また勤務時間が空欄の場合はセル【E16】に「休み」と表示されるようにします。

回答

Sub 教科書の解答例()
Dim kyuyo As Integer
If Range(“D16”).Value = “” Then
Range(“E16”).Value = “休み”
Else
If Range(“C16”).Value = “平日” Then
kyuyo = 1000 * Range(“D16”).Value
Range(“E16”).Value = kyuyo
ElseIf Range(“C16”).Value = “休日” Then
kyuyo = 1200 * Range(“D16”).Value
Range(“E16”).Value = kyuyo
End If
End If
End Sub

Sub いちおう動きます()
Dim kinmu As String
kinmu = Range(“c16”).Value
jikan = Range(“d16”).Value
Range(“e16”).Select
If jikan <> “” Then
If kinmu = “平日” Then
ActiveCell.Value = jikan * Range(“c10”)
ElseIf kinmu = “休日” Then
ActiveCell.Value = jikan * Range(“c11”)
End If
End If
If jikan = “” Then
ActiveCell.Value = “休み”
End If
End Sub