からの〜
仕様は以下な感じ。
- 名前をユーザーに入力させる。
- 次に年齢を入力させる。
- お年玉の金額が表示される。
- 入力がなかった場合は無限に質問を繰り返す。
- 一行ずつの処理
つかった構文などの紹介はプログラム内にコメントとして書きました。
Sub Otoshidama()
'とりあえずA2からスタート。
'指定したセルに飛ぶには[指定したいセル].Select
[A2].Select
'現在のセルが空セルになるまでループを回す
'if を始めたら必ず最後はend ifでif文を閉じる
Do Until ActiveCell.Value = ""
If (ActiveCell.Value <> "") Then
ActiveCell.Offset(1, 0).Select
End If
Loop
'----名前入力部分------
'変数定義
Dim name As String
'値が入力されるまで質問を続ける
'<>は「〜ではない」、""は空文字を示す。
Do Until ActiveCell.Value <> ""
'ユーザーに入力させるウィンドウはInputBox
name = InputBox("お名前は?", "質問その1", "")
If (name <> "") Then
ActiveCell.Value = name
End If
Loop
'----年齢入力部分------
'移動して年齢入力にうつる
ActiveCell.Offset(0, 1).Select
'変数定義
Dim ageString As String
Dim age As Integer
'値が入力されるまで質問を続ける
Do Until ageString <> ""
ageString = InputBox("年齢は?", "質問その2", "")
Loop
'文字列を整数型に変換し、0以上ならセルに入力させる
age = CInt(ageString)
If (age >= 0) Then
ActiveCell.Value = age
End If
'----お年玉金額判定&入力部分------
'移動して年齢入力にうつる
ActiveCell.Offset(0, 1).Select
If (age < 5) Then
ActiveCell.Value = 500
ElseIf (age < 10) Then
ActiveCell.Value = 1000
ElseIf (age < 15) Then
ActiveCell.Value = 5000
Else
ActiveCell.Value = "自分で働け"
End If
End Sub
ちなみに、ifの中の条件はカッコでくくってても、カッコが無くてもあっても大丈夫みたいです。
VBAでメソッド分け的なことはどうするんでしょ。。。読みにくくて仕方ない(長いから)。
勉強します。


0 件のコメント:
コメントを投稿