ステートメントを使うと、インプットボックスを使って複数の条件分岐ができます。
InputBoxを使って、指定したセルに値を入力するマクロを作ります。
インプットボックスの使い方
■ コード内を「Wクリック」で選択できます。[code] Sub サンプル0030() ‘変数の宣言 Dim GetStr As String Dim Msg As String Dim Title As String Msg = “A1からA5までのセル番地を入力してください。” ’インプットボックスのタイトル名 Title = “セル番地の選択” GetStr = InputBox(Msg, Title) GetStr = UCase(GetStr) Select Case GetStr Case “A1” Range(“A1”) = 1000 Case “A2” Range(“A2”) = “Hello” Case “A3” Range(“A3”) = “2004/08/01” Case “A4” Range(“A4”) = 3.1415 Case “A5” Range(“A5”) = 25000 Case “” Case Else MsgBox “入力が間違っています”, vbCritical End Select End Sub [/code]
1.デスクトップに作成した「確認用マクロのコピー」を開いて、「Visual Basic」をクリックします。
2.「Visual Basic」の画面で「Module1」を開きます。
3.サンプル0030のコードをコピーして、「Module1のコードウィンドウ」に貼り付けます。
4.マクロを実行します。
5.マクロを実行すると、「インプットボックス」が開きます。
インプットボックスのマクロの使い方
InputBoxにセル番地を入力します。
インプットボックスに「A1」を入力すると、セルA1に「1000」が入力される。(小文字a1と入力しても、「UCase関数」で大文字に変換される)
インプットボックスに「A2」を入力すると、セルA2に「Hello」が入力される。
インプットボックスに「A3」を入力すると、セルA3に「2004/8/1」が入力される。
インプットボックスに「A4」を入力すると、セルA4に「3.1415」が入力される。
インプットボックスに「A5」を入力すると、セルA5に「25000」が入力される。
インプットボックスに「A6」などの設定されていない値を入力すると、「入力が間違っています」というメッセージボックスが表示されます。
コードの説明
■ Dimついて
Dim Msg As String
Dim Title As String
’ Dim~As~Stringは、変数を宣言するものです。
「GetStr」という変数を、Stringで文字列型の変数として宣言しています。
「Msg」と「Title」も同様です。
1.変数「Msg」に「A1からA5までのセル番地を入力してください。」という文字列を代入します。
変数「Title」に「セル番地の選択」という文字列を代入します。
Msg = “A1からA5までのセル番地を入力してください。”
Title = “セル番地の選択”
2.次のコードは、「InputBox」関数の戻り値を変数「GetStr」が受け取り格納します。
GetStr = InputBox(Msg, Title)
3.「UCase」は、小文字を大文字に変換してくれます。
入力に「a1」としても、「A1」のように変換されます。
GetStr = UCase(GetStr)
4.「Select Case GetStr」の「GetStr」に格納された戻り値と、「 Case “A1″」の値を比較します。
その値に対する表示をしていきます。
Case “A1”
Range(“A1”) = 1000
Case “A2”
Range(“A2”) = “Hello”
Case “A3”
Range(“A3”) = “2004/08/01”
Case “A4”
Range(“A4”) = 3.1415
Case “A5”
Range(“A5”) = 25000
Case “”
Case Else
MsgBox “入力が間違っています”, vbCritical
End Select