みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

以下に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の前に入れるか、
後ろに入れるかはどうやって決めるのですか。
こういう場合は前に入れる、こういう場合は後ろに入れるといった
決めごとを教えてください。
宜しくお願いいたします。

投稿日時 - 2012-03-10 11:56:06

QNo.7353589

困ってます

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

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

投稿日時 - 2012-03-10 13:18:32

お礼

gomadare75さん、こんにちは。
MsbBox の命令文を
Aでは
End Selectの次の行に入れているが、
Bでは
End Selectの前の行に入れています。
次の行なのか、前の行なのか、使い分けを知りたいのですが。

投稿日時 - 2012-03-10 16:03:51

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

だから、Aの様にMsgBoxがEnd Selectの後なら、Select Case~End Select の外だから、Select Caseの結果と関係なくMsgBoxが実行されるけど、End Selectの前なら、Case elseに該当する場合だけ、MsgBoxが実行され、それ以外は実行されないという違いがあるわけです。
どちらか望むほうを選べばよいでしょう。

投稿日時 - 2012-03-10 16:46:16

あなたにオススメの質問