Meerdere ComboBoxen leegmaken

Status
Niet open voor verdere reacties.

jantoedeledoki

Gebruiker
Lid geworden
22 dec 2010
Berichten
36
Hallo,

Graag zou ik meerdere comboboxen met één handeling leegmaken.
Zelf had ik onderstaande code bedacht, alleen werkt dit niet.
Code:
Dim i As Integer
For i = 1 To 9
ActiveSheet.ComboBox(i).Value = ""
Next i
End Sub

Bij voorbaat dank
 
Dat werkt alleen als je keuzelijsten 1-9 heten. Standaard heten ze, als je de naam niet verandert, Combobox1 - Combobox9. En dan moet je de code dus aanpassen.
 
Maar het zijn Comboboxen (en heten dus ook ComboBox1 - ComboBox9). Mag ik dan concluderen dat dit alleen met keuzelijsten werkt?
 
Maar waarom zou je dit doen ????
En als je het doet gebruik je hiervoor .Clear (zoals ook in de hulpbestanden van de vbeditor staat).
 
Laatst bewerkt:
Mag inderdaad ook .Clear zijn. Maar het gaat mij erom dat ik dat voor ComboBox1-9 in één keer wil doen.
 
Een keuzelijst is in dit geval de vertaling van combobox. Maar als je de vertaling compleet wilt hebben, dan lees je dus: keuzelijst met invoervak.
Zoals ik al zei: als je keuzelijsten leeg wilt maken, moet je wel de naam goed hebben, en dat heb jij niet.
Code:
For i = 1 To 9
    ActiveSheet.ComboBox("Combobox" & i).Clear
Next i
 
Ah oké, nu snap ik waar het fout ging.
Echter met bovenstaande code krijg ik de volgende melding

"Object doesn't support this property or method"

Het gaat hier om Excel 2010 voor de volledigheid.
 
Ook werkt onderstaande opdracht niet
Code:
ActiveSheet.ComboBox1.Clear
maar
Code:
ActiveSheet.ComboBox1.Value=""
wel.

Echter de opdracht
Code:
For i = 1 To 9
    ActiveSheet.ComboBox("Combobox" & i).Value=""
Next i
weer niet

en geeft ook de melding
"Object doesn't support this property or method"
 
In een Userform kan je het als volgt doen.
Code:
Me("combobox"& i).clear

Maar in een werkblad vereist andere methode.
In een standaard module.
Code:
ActiveSheet.OLEObjects("ComboBox" & i).Object.Clear
In bladmodule.
Code:
Me.OLEObjects("ComboBox" & i).Object.Clear
 
Code:
ActiveSheet.OLEObjects("ComboBox" & i).Object.Value = ""
Was de oplossing. Hartelijk dank.

Ook hier geldt: .Clear werkt niet.
 
Werkt hier feilloos met clear; Excel 2007.
 
Code:
ActiveSheet.OLEObjects("ComboBox" & i).Object.Value = ""

Maakt een combobox niet leeg maar slechts het invoervak van de combobox.

Gebruik daarvoor liever:

Code:
for j=1 to 10
  oleobjects("Combobox" & j).listindex=-1
next

T'is wat, al die (mis)communicatie....
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan