• ベストアンサー
  • 困ってます

VBAのプロシージャについて質問です

  • 質問No.7353589
  • 閲覧数64
  • ありがとう数1
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 84% (409/485)

以下にA、B2つのプロシージャを書きます。
A
 Sub kubun( )
Dim taipu As String
Select Case Range("C27").Value
Case 100,110,120
taipu="乗用車"
Case 201,211,221
taipu="RV・4WD"
Case 300,305,310
taipu="スポーツカー"
Case Else
taipu="正しいコードを入力してください"
End Select
MsbBox taipu ←←←←
End Sub
B
 Sub iro( )
Select Case Range("C34").Value
Case "RED"
Range("C34").Font.ColorIndex=3
Case "BLUE"
Range("C34").Font.ColorIndex=5
Case "PINK"
Range("C34").Font.ColorIndex=7
Case "GREEN"
Range("C34").Font.ColorIndex=10
Case Else
MsbBox "RED,BLUE,PINK,GREENのいずれかを入力してください"←←←←    
End Select
End Sub
A,Bの←←←←の部分ですが、End Selectの前に入れるか、
後ろに入れるかはどうやって決めるのですか。
こういう場合は前に入れる、こういう場合は後ろに入れるといった
決めごとを教えてください。
宜しくお願いいたします。

質問者が選んだベストアンサー

  • 回答No.1
  • ベストアンサー

ベストアンサー率 35% (30/85)

これは、正しい値が入力されている場合、Bはまったくメッセージが出ないけれど、
Aはメッセージが出る、という違いでしょう。
お礼コメント
kakehasi

お礼率 84% (409/485)

gomadare75さん、こんにちは。
MsbBox の命令文を
Aでは
End Selectの次の行に入れているが、
Bでは
End Selectの前の行に入れています。
次の行なのか、前の行なのか、使い分けを知りたいのですが。
投稿日時:2012/03/10 16:03

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 35% (30/85)

だから、Aの様にMsgBoxがEnd Selectの後なら、Select Case~End Select の外だから、Select Caseの結果と関係なくMsgBoxが実行されるけど、End Selectの前なら、Case elseに該当する場合だけ、MsgBoxが実行され、それ以外は実行されないという違いがあるわけです。
どちらか望むほうを選べばよいでしょう。
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ