からの〜
仕様は以下な感じ。
- 名前をユーザーに入力させる。
- 次に年齢を入力させる。
- お年玉の金額が表示される。
- 入力がなかった場合は無限に質問を繰り返す。
- 一行ずつの処理
つかった構文などの紹介はプログラム内にコメントとして書きました。
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 件のコメント:
コメントを投稿