Listbox füllen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Listbox füllen

von toni » Mi, 16.05.2007 11:09

Hallo Thomas,

du hast Recht. Ich habe es jetzt folgendermaßen gelöst:

ich vergleiche das 'SelectedItem' mit den Einträgen in meiner Tabelle und rufe dann entsprechend die Sub zum Füllen der zweiten Box auf. Dabei übergebe ich die entsprechende Zeilennummer.

Code: Alles auswählen

    oHRisiko = oFrmRisiko.getControl("lbHKat").SelectedItem
    For i = 1 to ZeileHKat
	    If oHRisiko = oSheet_Daten.GetCellByPosition(3,i).String Then
           lbUKat_Fuellen(i)	       	       
	       Exit For
	    End If
    Next
Gruss

Thomas

von Toxitom » Mo, 14.05.2007 18:08

Hallo Thomas,
Kann mir da vielleicht jemand einen Tip geben?
Na, du hast dir doch schon selbst den Tip gegeben ;-)

Hier:
Ich müsste vielleicht die Selektion aus "lbHKat" im Tabellenblatt "suchen", dann die Zelladresse ermitteln und kann dann die nebenstehenden Unterkategorien in die zweite Listbox eintragen.
Lass das "vielleicht" raus, begrenze eventuell die Suche auf die Spalte A. Wobei das allerdings gar nicht nötig sein muss. Die erste Listbox füllst du doch "dynamisch", also werden hinzugekommene Haupteinträge dargestellt. Statt dem gewählten Eintrag kannst du dir ja auch die Positionsnummer zurückgeben lassen, dadurch hast du schon die passende Zeile (Startzeile-Index + Positionsnummer). Dann brauchst du nur noch die Untereinträge auszulesen.

Gruss
Thomas

Listbox füllen

von toni » Mo, 14.05.2007 15:32

Hallo zusammen,

ich möchte eine Listbox2 in Abhängigkeit von einer Selektion in Listbox1 befüllen.
Konkret meine ich folgendes:

In Zelle A1 steht z.B. "Hauptkategorie1", in A2 "Hauptkategorie2", usw.
In Zelle B1 steht dann "Unterkategorie1a", in C1 "Unterkategorie1b", usw.
In Zelle B2 steht dann "Unterkategorie2a", in C2 "Unterkategorie2b", usw.

Listbox1 befülle ich folgendermaßen:

Code: Alles auswählen

Sub lbHKat_Fuellen

	Dim oListBox as Object
	Dim ZeileHKat

    oCell   = oSheet_Daten.getCellRangeByName("A20") 
    oCell   = MoveCursorToEnd(oCell,"xlUp")   
    ZeileHKat = oCell.CellAddress.Row

      oListBox=oFrmRisiko.getControl("lbHKat")
      oListBox.removeItems(0, oListBox.getItemCount())
      For i = 0 To ZeileHKat Step 1
          oCell = oSheet_Daten.GetCellByPosition(0,i)
          olistbox.additem(oCell.String,i)
      Next i 
End Sub
Das klappt soweit ganz gut.
Nun möchte ich eine zweite Listbox füllen, und zwar in Abhängigkeit von der Selektion in "lbHKat". Wenn z.B. "Hauptkategorie1" ausgewählt wurde, soll in der zweiten Listbox "Unterkategorie1a", "Unterkategorie1b" usw. erscheinen.

Allerdings möchte ich das nicht im Code hart verdrahten, da im Calc-Sheet die Kategorien gepflegt werden sollen. Es könnten also Haupt-, bzw. Unterkategorien dazu kommen.

Ich müsste vielleicht die Selektion aus "lbHKat" im Tabellenblatt "suchen", dann die Zelladresse ermitteln und kann dann die nebenstehenden Unterkategorien in die zweite Listbox eintragen.

Kann mir da vielleicht jemand einen Tip geben?

Gruss

Thomas

Nach oben