- ベストアンサー
エクセル2002VBAでselect caseについてご教授ください
Sub macro() x = Application.InputBox("数値を入力! 1=東京、2=大阪", Type:=1) Select Case x Case 1 指定フォルダにある別ブック「東京」を開き、そのブック内の シート名「東京」に関しての処理 Case 2 指定フォルダにある別ブック「大阪を開き」、そのブック内の シート名「大阪」に関しての処理 End select 「そのあとの作業」がつづきます End sub このようなマクロを組んでいます インプットボックスで 1または2を入れると それに応じた作業をしてくれますが それ以外の数字を入力すると エラーが起きます (指定フォルダ内に「東京、「大阪」以外のブックが存在しないので) これを避けるため「1」「2」以外の数字を入力した場合に 再度インプットボックスに戻って入力を促すように 組みたいのですが どうしたらよろしいでしょう?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Select Case x Case 1 指定フォルダにある別ブック「東京」を開き、そのブック内の シート名「東京」に関しての処理 Case 2 指定フォルダにある別ブック「大阪を開き」、そのブック内の シート名「大阪」に関しての処理 case else exit sub End select 「そのあとの作業」がつづきます End sub でいいんじゃないでしょうか?
その他の回答 (2)
- to_suzu
- ベストアンサー率40% (2/5)
Select Case x Case 1 指定フォルダにある別ブック「東京」を開き、そのブック内の シート名「東京」に関しての処理 Case 2 指定フォルダにある別ブック「大阪を開き」、そのブック内の シート名「大阪」に関しての処理 Case Else 「ここでメッセージボックス」を出して、 入力を促す。 call macro ← もう一度このサブルーチンを呼び出す。 End select 「そのあとの作業」がつづきます End sub でいいんじゃないでしょうか?
お礼
失礼しました 質問文の内容を間違っていました 改めて質問させていただききます 一度締め切らせていただき 回答順にポイントをおつきいたします 大変失礼いたしました
- lasichi
- ベストアンサー率31% (122/389)
No1です。 case else msgbox "正しい値を入力してください" exit sub ではどうですか? 必ず1か2を入力させたい→1か2以外の場合は処理をしないという感じで理解していました。。。
お礼
失礼しました 質問文の内容を間違っていました 改めて質問させていただききます 一度締め切らせていただき 回答順にポイントをおつきいたします 大変失礼いたしました
補足
さっそくの回答ありがとうございます 補足いたします 必ず1か2の数字を入力させたいのですが 誤解を招く質問をしてしまい、言葉足らずで申し訳ありませんでした。