Microsoft Excel

Herbers Excel/VBA-Archiv

ComboBox & 2. Spalte füllen (add / list) ?

Betrifft: ComboBox & 2. Spalte füllen (add / list) ? von: Stefan
Geschrieben am: 17.09.2004 09:34:53

Hallo allerseits,
wer kann mir hier weiterhelfen?

Private Sub ComboBox1_GotFocus()
Dim i%
With Sheets("Tabelle1").ComboBox1
   .Clear
   For i = 5 To Sheets.Count
      .AddItem Sheets(i).Name
   Next
End With
End Sub


Das Ding liest Tabellennamen in eine ComboBox ein. Diese Tabellen können später mal ausgewählt werden, anhand des Eintrages (also Tabellennamens) in dieser ComboBox.

Jetzt möchte ich aber noch einen Eintrag in die Box hinzufügen. Er soll nicht nur den TabNamen auslesen, sondern auch noch den Wert in der jeweiligen A1-Zelle. Das funktioniert mit 'Sheets(i).Range("A1")'.

Aber ich weiß nicht wie ich das jetzt am besten einbaue. Ich dachte da an eine zweite Spalte (ColumnCount=2), weiß aber halt nicht wie! Hatte das auch schon mit dem verbinden von dem AddItem (.AddItem Sheets(i).Name & Sheets(i).Range("A1")) versucht, aber dann kann ich später nicht mehr die Tabellen übernehmen, klappt also nicht.
Dieser Wert der Zelle A1 soll nur so ne Art Info sein.

Wer hätte da Ideen?

Mfg
  


Betrifft: AW: ComboBox & 2. Spalte füllen (add / list) ? von: tobias
Geschrieben am: 17.09.2004 09:44:53

Hallo

probiers mal so:

activesheet.combobox1.additem Sheets(i).Name
activesheet.combobox1.list(1,1) = Sheets(i).Range("A1")

Combobox Eigenschaften:
BoundColumn = 1
ColumnCount = 2

mfg tobias


  


Betrifft: AW: ComboBox & 2. Spalte füllen (add / list) ? von: tobias
Geschrieben am: 17.09.2004 09:50:49

Hallo

OK nochmal:

Private Sub ComboBox1_GotFocus()
Dim i%,index as integer
With Sheets("Tabelle1").ComboBox1
   .Clear
   For i = 5 To Sheets.Count
      index = index + 1
      .AddItem Sheets(i).Name
      .list(index,1) = Sheets(i).Range("A1")
   Next
End With
End Sub


mfg tobias


  


Betrifft: AW: ComboBox & 2. Spalte füllen (add / list) ? von: tobias
Geschrieben am: 17.09.2004 10:00:46

Hallo

aaaah,da war noch ein Fehler


Private Sub ComboBox1_GotFocus()
Dim i%,index as integer
With Sheets("Tabelle1").ComboBox1
   .Clear
   For i = 5 To Sheets.Count
      .AddItem Sheets(i).Name
      .list(index,1) = Sheets(i).Range("A1")
      index = index + 1
   Next
End With
End Sub



mfg tobias


  


Betrifft: @Tobias: 1000 Dank, funkt. prima! von: Stefan
Geschrieben am: 17.09.2004 10:28:28

genauso sollte es sein, danke schön.


 

Beiträge aus den Excel-Beispielen zum Thema "ComboBox & 2. Spalte füllen (add / list) ?"