Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
144to148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
144to148
144to148
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Helfer sucht Hilfe

Helfer sucht Hilfe
02.08.2002 17:42:28
mattis
So kann's gehen...

Da bietet man Hilfe an, und schon kommt man
in undurchdringliches Dickicht.

Das Problem:
Alle Comboboxen mit Laufindex
ansprechen und alle Einträge löschen.

In einer Userform ist mir das klar.
Da gibt es ja auch das Controls-Objekt.

Nur, wie lösche ich OLE-ComboBoxen
im aktiven Worksheet. Die Clear-Methode
funktioniert da nicht : (

Problem-Thread:
https://www.herber.de/forum/messages/144231.html

Für ein Lichten des Dickichts wäre ich dankbar
mattis

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Helfer sucht Hilfe
02.08.2002 19:30:30
Charlie
Hallo, mattis!

Es geht mE nur über die ListRows.

Viel Erfolg,
Charlie

Re: Helfer sucht Hilfe
02.08.2002 20:46:32
mattis
Habe Deinen Code etwas modifiziert (böse, böse).

Als ich ListRows durch ListCount ersetzt
hatte hats gefunkt.

Warum muß das mit den OLEObjekten aber
auch so komplifiziert sein?

mille gracie
mattis

Re: Helfer sucht Hilfe
02.08.2002 20:58:48
Charlie
Hallo, mattis!

Da Du ListRows durch ListCount ersetzen musstest, gehe ich davon aus, dass es mit ListRows nicht funktioniert hat, was aber klar ist:

In meinem Beispielen waren die Listeneinträge, die durch FillComboBoxes erzeugt wurden, größer als der Standardwert 8. Da Du aber weniger Werte als 8 in die ListBoxes eingetragen hast, musste der Löschversuch daneben gehen. Durch mein Makro wurde die Anzahl der ListRows ausgelesen und dann der jeweils letzte Wert gelöscht.

Bei Dir war an der Position 8 z.B. aber nix, daher war Removen auch Fehlanzeige.

Aber wie auch immer: Gut dass es funktioniert.

Gruß,
Charlie

Anzeige
Versteh ich nicht...
02.08.2002 21:20:52
mattis
.. durch Deine For .. Next Schleife
kommst Du doch automatisch unter 8
Einträge, spätestens dann wäre doch
auch bei Dir eine Fehlermeldung.

gruß
mattis

Re: Versteh ich nicht...
02.08.2002 21:40:26
Charlie
Hallo, mattis!

Ja, Du missverstehst mich:

Bei Dir ist der Fehler aufgetreten, weil der Eigenschaft "ListRow" der Standardwert 8 zugeweisen war, die Anzahl Deiner tatsächlichen Einträge war aber kleiner als 8. Die For-Next-Schleife hat den Wert "ListRow" ausgelesen, also 8 und hat begonnen, von 8 abwärts bis 1 alle Einträge zu löschen. Bei Dir waren es z.B. 2, weshalb der Versuch, den 8. Eintrag zu löschen, zwangsläufig zu einem Fehler führen musste.

Bei mir waren 12 Einträge in der Liste und die Eigenschaft "ListRow" wurde in der Prozedur "FillComboBoxes" auf diesen Wert gesetzt. Die Schleife hat daher bei 12 begonnen, immer den letzten Eintrag zu löschen. Bei jedem Durchlauf wird der Zähler um 1 vermindert und es ist an jeder Position, die durch den Zähler abgearbeitet wird, immer ein Eintrag vorhanden, der gelöscht wird.

Die Eigenschaft "ListRow" besagt ja nur, dass beim Aufklappen standardmäßig 8 Zeilen in der Drop-Down-Liste angezeigt werden. Wenn Du z.B. nur 2 Einträge benötigst, kannst Du diesen Wert auf 2 setzen, damit die aufgeklappte Liste nur genau so lang ist, wie nötig. Benötigst Du z.B. 10, dann kannst Du mit diesem Wert erreichen, dass wegen der letzten 2 Werte keine Scrollleiste notwendig wird.

Das Problem - noch einmal - bei Dir war, dass das 1. Item (Index 8) nicht existiert hat. Dein 1. Item hatte nämlich den Index 2.

Ich hoffe, Du kannst das Problem jetzt nach vollziehen.

Gruß,
Charlie

Anzeige
Ah! Falscher Fehler!
02.08.2002 21:51:45
mattis
Im Eifer des Gefechtes habe ich,
um meinen Thread schnell eine Antwort
zu basteln nur den oberen Teil
Sub ClearComboBoxes() herauskopiert,
und Sub FillComboBoxes() links liegen
lassen. Das soll heißen ich hab sie
kopiert aber nicht analysiert.

Da lag der Hund begraben.
Im Zusammenhang geben die zwei Subs mit
Ihrem ListRows enorm viel Sinn : )

gruß
mattis

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige