Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
272to276
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
272to276
272to276
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Select Case

Select Case
24.06.2003 10:30:46
Martin
Hallo,
Ich habe in VBA im Design-Mode auf dem Sheet1 eines Workbooks eine ComboBox erstellt die beim Auswaehlen dieses Sheets miteiner List gefuellt wird (AddItem). Nun moechte ich mittels Select Case die Ereignisse definieren, die bei der Auswahl eines Eintrages aus der ComboBox auftreten. In Vb wuerde ich deshalb sagen:

Select Case CBox_Year.List(CBox_Year.ListIndex)
' CBox_Year = Name der ComboBox
Case "2002"
blablabla
Case "2003"
blablabla
usw.......
end select

Wenn ich das nun in VBA versuche kommt die Fehlermeldung 'Could not get the list property. Invalid property array index'
Nehme ich dann das "(CBox_Year.ListIndex)" am Ende der Select case anweisung weg, kommt 'Type mismatch'. Wie kann ich auf die einzelnen Eintraege der Box zugreifen? Bitte helft mir....
Danke

Martin

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Select Case
24.06.2003 10:36:46
L.Vira

Der Listindex ist numerisch, du hast aber Strings. Sind das denn wirklich (2002,2003) die Index oder eher der Value?

Re: Select Case
24.06.2003 10:54:35
Martin

mmmmhhh las ich habe folgendes geschrieben:

Private Sub Worksheet_Activate()
' also wenn das Sheet aktiviert wird

If ActiveWorkbook.Worksheets("Main").CBox_Year.ListCount > 0 Then
ActiveWorkbook.Worksheets("Main").CBox_Year.Clear
End If
'If-Abfrage, falls schon was drinsteht in der Box und keine doppelte Eintraege zu haben

CBox_Year.AddItem ("2002")
CBox_Year.AddItem ("2003")
......
' Eintraege erstellen

Es werden also die Listeneintraege immer neu ertselly; ich habe aber keine bessere Moeglichkeit gefunden als diese, da ich auch nich wusste wie man die Eintraege fest eingeben kann (wie zB bei VB Properties-Fenster (der ComboBox) unter List; diesen Eintrag gib es bei VBA nicht).
Ich hoffe die Info hilft dir.....
Martin

Anzeige
Re: Select Case
24.06.2003 11:04:25
L.Vira

CBox_Year.AddItem 2002
CBox_Year.AddItem 2003

dann hat die Box 2 Einträge, der Listindex beginnt bei 0
select case CBox_Year.listindex
case 0: call Makro1
case 1: call Makro2
end select

Re: Select Case
24.06.2003 11:12:03
Martin

Danke erstmal;
aber ich moechte gerne die Listeneintraege namentlich auflisten (also nich mit case 0, case 1, case 2, .....) um Verwechslungen durch eventuelles Hinzufuegen weiterer Eintraege (zB Jahr 2004) zu vermeiden.

Re: Select Case
24.06.2003 11:25:00
L.Vira

Dann musst du den Value selektieren

Select case CBox_Year.Value

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige