2016-10-13 78 views
0

我在我的Excel宏中遇到了一些問題。問題的Elseif不在Excel中工作Makro(VBA)

說明:

我想創建一個宏,它隱藏/顯示特殊的表,如果答案是使用一個下拉菜單。

下拉菜單:

澳大利亞

奧地利

德國

如果他們中的一個choosen例如,德國 - >與德國表應取消隱藏,並與澳大利亞的板材和奧地利應該隱藏。

我嘗試使用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

爲什麼不使用'選擇案例c2'而不是所有這些'If'條款? https://msdn.microsoft.com/en-us/library/cy37t14y.aspx – Ralph

回答

2

我想你忘記了不少「」 作爲@Raph說,選擇的情況是更清潔的方式來看待。

提示:總是使用Option Explicit,你會發現這一個!

提示2:你可以使用LCASE()比較不區分大小寫

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以改進選擇案例的例子,可能會提高很多(我的第一次使用選擇案例是一團糟) –