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

ComboBox füllen; verschiedene Zellen

ComboBox füllen; verschiedene Zellen
28.02.2007 16:59:29
proxima05
Hallo,
ich habe da eine Frage zur Befüllung einer mehrspaltigen Combobox. Mit dem untenstehenden Code funktioniert es, dass eine dreispaltige CBox korrekt befüllt wird. Jetzt habe ich aber das Problem, dass in einer weiteren CBox nur ein Teil des Tabellenbereichs (A3:M50) in die CBox eingetragen werden soll, und zwar "B3:B50", "K3:K50" und "M3:M50".
Wie bekomme ich das hin? Ich habe es schon mal wie nachstehend probiert, aber das klappt nicht.
varArray = .Range("B3:B50"; "K3:K50"; "M3:M50")
Wäre toll, wenn mir da jemand einen Tipp geben könnte.
Danke
Ralph
==========================================
Priva te Sub Userform_Activate()
Dim i As Integer
Dim varArray
With Worksheets("Tabelle1")
varArray = .Range("A3:M50")
End With
Call QuickSort(1, UBound(varArray), varArray)
With UserForm1
.ComboBox1.ColumnCount = 3
.ComboBox1.ColumnWidths = "40 pt;50 pt;40 pt; 50 pt"
.ComboBox1.List = varArray
'Leereinträge aus Tabelle Spalte AF in Combobox-Auswahlliste löschen
For i = .ComboBox1.ListCount - 1 To 0 Step -1
If .ComboBox1.List(i, 0) = "" Then
.ComboBox1.RemoveItem (i)
End If
Next i
.ComboBox1.ListIndex = -1 'normal ist 0, mit "-1" wird die CBox beim Initialisieren
'ohne Inhalt angezeigt.
End With
==========================================

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ComboBox füllen; verschiedene Zellen
28.02.2007 20:55:00
Peter
Hallo Ralph,
so könnte es funktionieren:


Option Explicit
Private Sub Userform_Activate()
Dim iIndex As Integer
Dim varArray(1 To 26, 2)
Dim iCoBox As Integer
   With Worksheets("Tabelle1")
      For
 iIndex = 3 To 28
         varArra y(iIndex - 2, 0) = .Range("B" & iIndex).Value
 &n bsp;       varArray(iIndex - 2, 1) =&nbsp ;.Range("K" & iIndex).Value
        &nb sp;varArray(iIndex - 2, 2) = .Range("M" & iIndex).Value      Next iIndex
   End With
   Call QuickSort(1, UBound(varArray), varArray)
   With UserForm1
      .ComboBox1.Colum nCount = 3
      .ComboBox1.ColumnWidths =  "40 pt;50 pt;40 pt"
      For iIndex = 1 To 26
         .ComboB ox1.AddItem " "
         .ComboBox1.Li st(iCoBox, 0) = varArray(iIndex, 0)
      & nbsp;  .ComboBox1.List(iCoBox, 1) = varArray(iIndex, 1)
 & nbsp;       .ComboBox1.List(iCoBox, 2) = varAr ray(iIndex, 2)
         iCoBox =  iCoBox + 1
      Next iIndex
'Leereinträge aus Tabelle Spalte AF in Combobox -Auswahlliste löschen
      For iIndex = .ComboBox1.ListCount - 1 To 0 Step -1
         If .ComboBox1.List(iIndex, 0) = "" Then
           & nbsp;.ComboBox1.RemoveItem (iIndex)
        &nbs p;End If
      Next iIndex
      .ComboBox1.List Index = -1 'normal ist 0, mit "-1" wird die CBox beim  Initialisieren
'ohne Inhalt angezeigt.
   End With
End Sub 


Gruß Peter
Anzeige
AW: ComboBox füllen; verschiedene Zellen
28.02.2007 22:02:00
proxima05
Hallo Peter,
so funktioniert es! .... klasse.
Besten Dank
Ralph

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige