2016-10-13 12 views
0

私のExcelマクロで少し問題があります。問題のElseifはExcelのマクロロ(VBA)で動作していません

説明:

は、私は1つの答えが使用ドロップダウンメニューがある場合は、特殊なシートを再表示/非表示され、マクロを作成します。

ドロップダウンメニュー:

オーストラリア

オーストリア

ドイツ

そして、もしその一つ選びだし例えば、ドイツ - >再表示する必要があるドイツとシートとオーストラリアのシートとオーストリアは隠れるはずです。

私はのElseIfコマンドを使用しよう:

Sub Choose_Country() 

If (c2 = "Germany") Then 

Sheet8.Visible = True 
Sheet9.Visible = False 
Sheet10.Visible = False 

ElseIf (C2 = Australia) Then 

Sheet8.Visible = False 
Sheet9.Visible = True 
Sheet10.Visible = False 

ElseIf (C2 = Austria) Then 

Sheet8.Visible = False 
Sheet9.Visible = False 
Sheet10.Visible = True 

End if 
End sub 

エラーが、私がドイツシートが見え、他ではありません毎回選ぶかは重要ではありませんことを、..です

どれでも私の間違いは何ですか?

よろしく

+0

小文字を区別しない場合を比較するために、LCASEを使用することができますか? https://msdn.microsoft.com/en-us/library/cy37t14y.aspx – Ralph

答えて

2

私は@Raphを選択する場合は、見ての方法きれいで、言ったようにあなたが 「」かなりの数のを忘れてしまったと思います。

ヒント:常にOption Explicitを使用してください。あなたはこれを見つけました。

ヒント2:あなたはなぜのSelect Caseではなく、これらすべての `If`条項のc2``使用しない()

Sub Choose_Country() 
c2 = something I dare hope :D 
select case c2 
case "Germany" 

Sheet8.Visible = True 
Sheet9.Visible = False 
Sheet10.Visible = False 

case "Australia" 

Sheet8.Visible = False 
Sheet9.Visible = True 
Sheet10.Visible = False 

case "Austria" 

Sheet8.Visible = False 
Sheet9.Visible = False 
Sheet10.Visible = True 
case else 
     msgbox "unknown country" 
End select 
End sub 
+0

これは答えではありませんが、私は同意しますが、選択したケースを実行する方法の例を提供すると良いと思います。 –

+0

@氏バーンズそれはダムの答えですが、私はかなり問題が ""とあることを確信しています。私はこれを追加します:) – Pierre

+0

コードには多くの問題がありますが、 ""はちょうど(私がかわいいかもしれませんが)誰かが選択事例の例を改善するためにhwを理解するのを助けるためです。おそらく(大文字小文字を選択した私の最初の使用は混乱でした) –

関連する問題