PDA

Vollständige Version anzeigen : Laufzeitfehler 380 !!


Suwarin
17.04.2009, 16:12
Hallo zusammen,

1. Problem
beim debuggen gibt den o.g. laufzeitfehler, ohne kombobox 2 gehts...

2. Problem
Würde die ComboBox'en gerne beim start leer lassen (dachte das bewirkt *.clear)

hoffe das kann mir jemand erklären.
MfG

Private Sub UserForm_Initialize()
Dim aRow, i As Long
Application.EnableEvents = False
ComboBox1.Clear
aRow = Sheets("Klienten").[A65536].End(xlUp).Row
For i = 2 To aRow
ComboBox1.AddItem Sheets("Klienten").Cells(i, 1)
Next i
ComboBox1.ListIndex = 0

ComboBox2.Clear
aRow = Sheets("Mitarbeiter").[A65536].End(xlUp).Row
For i = 2 To aRow
ComboBox2.AddItem Sheets("Mitarbeiter").Cells(i, 1)
Next i
ComboBox2.ListIndex = 0
Application.EnableEvents = True

End Sub

jinx
17.04.2009, 16:17
Moin, Suwarin,

Clear löscht die Einträge, wenn sie per AddItem gemacht worden sind. Direkt danach werden sie aber befüllt. Beim ersten Aufruf muss man AFAIK die Einträge nicht löschen - oder man sollte die Mappe zum besseren Verständnis anhängen...

EarlFred
17.04.2009, 16:25
Hallo Suwarin,

ergänzend zu jinx' Anmerkungen:

Der Fehler 380 tritt z. B. dann auf, wenn die Combobox leer ist und man ListIndex anwendet. Hast Du mal geprüft, ob überhaupt Daten da sind, die in die Comboboxen geschrieben werden?

Ansonsten nutze Combobox(Nummer).ListIndex = -1 oder lass die Zeile ganz weg, damit Du eine leere Auswahl erhältst.

Grüße
EarlFred

Suwarin
17.04.2009, 16:26
Hallo Jinxs,

danke für deine schnelle antwort, hier also die gesamte mappe ...

Suwarin
17.04.2009, 16:39
Hallo EarlFred,

sauber, allerbesten dank, mit ...=-1 funzt das

MfG

NoNet
17.04.2009, 16:46
Hallo Suwarin,

ergänzend zu EarlFreds Hinweis :
Setze den .Listindex nur dann, wenn die Combobox auch Einträge beinhaltet, z.B. so :

If ComboBox1.ListCount Then ComboBox1.ListIndex = 0

und so :

If ComboBox2.ListCount Then ComboBox2.ListIndex = 0

etc.