Combobox zerstört

19/02/2009 - 19:04 von Kricklruder | Report spam
Hallo


Ich habe im Blatt 1 zwei Comboboxen. Eine gefüllt mit Monaten
(Jànner...Dezember). Die andere mit Jahreszahlen. Die Zuordnung erfolgt über
ListFillRange in derselben Tabelle. Lösche ich nun im aktiven Blatt 2 zwei
Zeilen egal, ob hàndisch oder programmtechnisch, so werden die Comboboxen,
manches Mal ja und dann wieder nicht, im Blatt 1 zerstört. Der Listindex wird
auf –1 gesetzt. Der Inhalt enthàlt irgendwelche andere Tabellenwerte. VBA
stürzt dann irgendwo ab.
Was ich auch versuche und probiere ich finde keine Lösung. Weiß jemand Rat?
Vielen Dank im voraus.

Mit freundlichen Grüßen
Ingo
 

Lesen sie die antworten

#1 Andreas Killer
20/02/2009 - 09:44 | Warnen spam
On 19 Feb., 19:04, Kricklruder
wrote:

Ich habe im Blatt 1 zwei Comboboxen. Eine gefüllt mit Monaten
(Jànner...Dezember). Die andere mit Jahreszahlen. Die Zuordnung erfolgt über
ListFillRange in derselben Tabelle. Lösche ich nun im aktiven Blatt 2 zwei
Zeilen egal, ob hàndisch oder programmtechnisch, so werden die Comboboxen,
manches Mal ja und dann wieder nicht, im Blatt 1 zerstört. Der Listindex wird
auf –1 gesetzt. Der  Inhalt enthàlt irgendwelche andere Tabellenwerte. VBA
stürzt dann irgendwo ab.


Das ist korrekt, angenommen Dein ListFillRange ist F1:F3 und Du löscht
in einem anderen Blatt Zeile 3, dann hat die Combobox nur noch Zeile 1
und 2 zu Auswahl, aber ListFillRange ist immer noch F1:F3 !

Ich sehe da 2 Möglichkeiten:

a.) Verwende das "Kombinationsfeld" aus der Symboleiste Formular, das
hat diese Macke nicht.
b.) Verwende nicht ListFillRange, sondern füge die Eintràge "manuell"
hinzu. Für Dein bereits bestehendes Blatt würde ich Routinen in der
Art wie diese hinzufügen:

Private Sub ComboBox1_DropButtonClick()
Dim I As Integer
With ComboBox1
'ListFillRange is Shit
.ListFillRange = ""

'Alle Eintràge entfernen
Do While .ListCount > 0
.RemoveItem 0
Loop

'Eintràge manuell hinzufügen
For I = 1 To 3
.AddItem Range("F" & I)
'Ersatzweise könnte man hier auch .AddItem "Jànner" etc. direkt
sagen
Next
End With
End Sub

Andreas.

Ähnliche fragen