Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

kompilierfehler

Betrifft: kompilierfehler
von: Mag
Geschrieben am: 17.04.2003 - 13:41:14

Hi,

mein problemchen ist folgendes: Ich habe eine Userform mit einer Combobox, der dazu gehörige Text heißt:
Private Sub ComboBox2_Change()
auswahl = ComboBox2.Text

End Sub
doch das geht durch den Compiler nicht durch. Weiß jemand einen Rat wieso? Noch was unter windows nt funktionierte das Makro fehlerfrei nun(win 2000) nicht.

  

Re: kompilierfehler
von: Harald Kapp
Geschrieben am: 17.04.2003 - 13:48:51

Vielleicht keine Frage von WinNT/Win2000, sondern Einstellung von VBA? Mir fällt auf, dass die Variable Auswahl nicht dimensioniert ist. Wenn Dein Code vorneweg ein "Option explicit" aufweist, muss auswahl explizit mit Typ definiert werden, etwa so:

Private sub...
dim auswahl as String
...
End sub

Gruß Harald

  

Re: kompilierfehler
von: Mag
Geschrieben am: 17.04.2003 - 13:52:53

Vielen Dank für den Tip, allerdings hätte ich da noch eine Frage:
Könnten Sie dann verraten wieso es vorher funktioniert hat?

  

Re: kompilierfehler
von: Harald Kapp
Geschrieben am: 17.04.2003 - 14:49:25

Es ist eine Voreisntellung, die man ein- oder ausschalten kann. Damit legt man fest, ob Excel-VBA automatisch ein "Option Explicit" vorneweg setzt, oder eben nicht.

Aus meiner Sicht ist es übrigens guter Stil, alle benutzten Variablen mit DIM zu deklarieren. Das schützt vor Schreibfehlern. Sonst Nimmt VBA z.B "Hand" und "Hund" als zwei Variable an, obwohl man eigentlich beide Male den gleichen Wert meinte und sich nur vertippt hat. Wenn man mit "Option Explicit" arbeitet und z.B.
dim Hand as String
deklariert, dann gibt der Compiler eine fehlermeldung aus, wenn man dennoch Hund verwendet.

Gruß Harald