2016-10-13 7 views
0

Ich habe ein kleines Problem in meinem Excel-Makro.Elseif funktioniert nicht in Excel Makro (VBA)

Beschreibung des Problems:

Ich möchte ein Makro erstellen, die Ein-/Ausblenden Spezialblätter, wenn eine Antwort ein Dropdown-Menü verwendet wird.

Dropdown Menü:

Australian

Österreich

Deutschland

Und wenn einer von ihnen gewählten zB Deutschland -> das Blatt mit Deutschland sollte und das Blatt mit australischen sichtbar machen und Österreich sollte sich verstecken.

Ich versuche, den ElseIf Befehl zu verwenden:

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 

Der Fehler ist, dass es nicht das, was egal ich jedes Mal, wähle das Blatt Deutschland sichtbar ist und die andere nicht ..

All Ideen, was mein Fehler ist?

Grüße

+0

Warum nicht 'Select Case c2' statt all diese' If' Klauseln? https://msdn.microsoft.com/en-us/library/cy37t14y.aspx – Ralph

Antwort

2

Ich glaube, Sie vergessen haben, ganz wenige „“ Wie @Raph sagte, wählen Fall ist viel sauberer zu betrachten.

Tipp: Verwenden Sie immer Option Explicit, Sie hätten dies entdeckt !!!

Tipp 2: Sie können lcase() verwenden, um zu vergleichen, Groß- und Kleinschreibung

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

Während dies nicht eine Antwort ist, stimme ich zu, aber ich denke, es wäre gut, wenn Sie ein Beispiel für eine Möglichkeit zur Verfügung gestellt würde, wählen Sie Fall –

+0

@ Mr.Burns, es ist eine dumme Antwort, aber ich bin mir ziemlich sicher, dass die Probleme mit dem "" sind. Ich werde das hinzufügen :) – Pierre

+0

Es gibt viele Probleme mit dem Code, der "ist nur einer der (obwohl ich wählerisch sein kann), aber um jemandem zu helfen zu verstehen, dass hw ein Beispiel für den ausgewählten Fall verbessern würde." wahrscheinlich verbessern viel (Meine erste Verwendung von ausgewählten Fall war ein Durcheinander) –