Microsoft Excel

Herbers Excel/VBA-Archiv

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

Fehlermeldung Formular Objektvariable | Herbers Excel-Forum


Betrifft: Fehlermeldung Formular Objektvariable von: Lutz
Geschrieben am: 18.11.2009 11:36:09

Hallo Excel Profis,

ich habe ein Combobox-Formular das sich aus den Zeilen A38:A45 speist. Dort brauche ich den ersten Eintrag als Standardeintrag.

Meine Codes sind:

Formular:

Option Explicit

Private Sub ComboBox1_Change()
[M47] = ComboBox1.Value
Unload Me
End Sub

Private Sub CommandButton1_Click()
Unload Me
End Sub

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "A38:A45"
ComboBox1.SetFocus
ComboBox1.ListIndex = 1
'ComboBox1.ListIndex = "0"
'ComboBox1.ListIndex = 0
End Sub
Aufruf des Formulars:

Sub KassiererAnzeigen()
frmKassierer.Show
'ComboBox1.ListIndex = 0
End Sub
Wenn ich es ausführe bekomme ich die Fehlermeldung 91 Objektvariable oder With-Blockvariable nicht festgelegt.

Kann jemand helfen?

Ich suche mich da in allen Foren zu tode

Vielen Dank Gruß Lutz

  

Betrifft: AW: Fehlermeldung Formular Objektvariable von: Björn B.
Geschrieben am: 18.11.2009 11:53:20

Hallo,

bin mir nicht ganz sicher, wie es richtig ist, der Fehler liegt aber auf jeden Fall in der Zeile mit RowSource.
Du gibst als Bereich nur ein "A38:A45" an, damit fängt VBA nichts an.
Das müsste mindestens mal so aussehen: Range("A38:A45")
Weiterhin weiß dein Formular nicht, von welchem Blatt es das holen soll, also müsste es Sheets(1).Range("A35:A45") sein. Aber so funktioniert es auch nicht.

Ich denke, dass RowSource nur für Steuerelemente gilt, die direkt in einer Tabelle stehen.
In Userforms muss man das mit .AddItem machen. Schau dazu mal in die Hilfe.

Gruß
Björn B.


  

Betrifft: AW: Fehlermeldung Formular Objektvariable von: Lutz
Geschrieben am: 18.11.2009 12:00:58

Hallo Björn,

vielen Dank aber das ist es leider nicht.

Private Sub UserForm_Initialize()
ComboBox1.RowSource = "A38:A45"
'ComboBox1.RowSource = Sheets("Eingabe").Range("A38:A45")
'ComboBox1.SetFocus
'ComboBox1.ListIndex = 1
'ComboBox1.ListIndex = "0"
'ComboBox1.ListIndex = 0
End Sub
Wenn ich die Zeile mit Sheets nehme bricht er ab.

Nehme ich die Zeile "A38:A45" bringt er mir alles wunderbar - nur sobald ich den Listindex reinnehme hängt er sich auf. Ich bekomme den Startwert nicht auf, das ist das Hauptproblem

Gruß Lutz


  

Betrifft: AW: Fehlermeldung Formular Objektvariable von: Rudi Maintaire
Geschrieben am: 18.11.2009 12:38:06

Hallo,
RowSource ist ein String.

.RowSource="Eingabe!A38:A45"
.Listindex=0

@Björn: RowSource ist korrekt. In der Tabelle ist es ListFillRange

Gruß
Rudi


  

Betrifft: AW: Fehlermeldung Formular Objektvariable von: Lutz
Geschrieben am: 18.11.2009 13:21:38

Hallo Björn,



danke, hat auch nicht gefunzt.



Habe was gegoogelt und angepasst - scheint zu gehen.



Hier mal die Datei. https://www.herber.de/bbs/user/66017.xls



Vielen Dank für die Hilfe..





Gruß Lutz


  

Betrifft: AW: Fehlermeldung Formular Objektvariable von: Björn B.
Geschrieben am: 18.11.2009 13:46:50

Hallo,

was funktioniert denn bei Dir nicht?
Bei mir funktioniert es mit dem Code.

Dein Code hat nur das Problem, dass du beim ComboBox-Change die Userform zu machst.
Also wenn du beim Start den Wert wechselst (über Listindex), dann wird das change-Ereignis ausgeführt und deine Userform gleich wieder geschlossen.
Das macht die hochgeladene Datei nicht.

War das Dein Problem? Lass mal das Unload ME weg.

Gruß
Björn B.


  

Betrifft: AW: Fehlermeldung Formular Objektvariable von: Lutz
Geschrieben am: 18.11.2009 17:27:01

Hallo Björn danke, ich habe es jetzt geschafft, mußte noch das Change unload me rausnehmen...

Vielen, vielen, vielen, vielen Dank

Gruß Lutz


Beiträge aus den Excel-Beispielen zum Thema "Fehlermeldung Formular Objektvariable"