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

List vs AddItem

List vs AddItem
17.12.2004 01:05:35
Christian
Hallo zusammen,
ich hoffe, ihr könnt mir bei dem folgenden Verständis-Problem helfen.
In eine ComboBox einer UserForm lese ich die Werte aus Spalte A ein.
Dass die "List-Methode" der AddItem-Methode" vorzuziehen ist, ist mir klar. (kürzerer Code und keine Schleife)
Bei variabler Anzahl der Werte aus Spalte A führt die "List-Methode" bei mir jedoch zu eine Fehler, wenn weniger als zwei Werte an die ComboBox übergeben werden sollen. (siehe Code-Beispiele)
"AddItem" läuft dagegen fehlerfrei.
Meine Frage:
gibt es hierfür eine Lösung oder muss ich im Zweifelsfall doch auf "AddItem" zurückgreifen?
(vielleicht steh ich ja auch einfach nur auf dem Schlauch ...is ja auch schon spät...)
Vielen Dank für eure Hilfe
Christian
Beispiel "List":

Private Sub UserForm_Initialize()
Dim LastRow As Integer
With Worksheets("Tabelle1")
LastRow = .Range("A65536").End(xlUp).Row
ComboBox1.List = .Range("A2:A" & LastRow).Value  'Fehler, wenn LastRow kleiner als 3
End With
End Sub

Beipiel "AddItem":

Private Sub UserForm_Initialize()
Dim LastRow As Integer
Dim i As Integer
With Worksheets("Tabelle1")
LastRow = .Range("A65536").End(xlUp).Row
For i = 2 To LastRow
ComboBox1.AddItem .Cells(i, 1).Value
Next i
End With
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: List vs AddItem
17.12.2004 06:21:56
GraFri
Hallo
Bei einem Element mit AddItem.


      
Private Sub UserForm_Initialize()
Dim LastRow As Integer
With Worksheets("Tabelle1")
LastRow = .Range("A65536").End(xlUp).Row
  
Select Case LastRow
    
Case Is < 2
    
Case Is < 3
    ComboBox1.AddItem .Range("A2").Value
    
Case Else
    ComboBox1.List = .Range("A2:A" & LastRow).Value
  
End Select
End With
End Sub
 


Mit freundlichen Grüßen, GraFri
Anzeige
vielen Dank
17.12.2004 18:03:43
Christian
Hallo GraFri,
vielen Dank, so läuft es prima.
den "Case Is &lt 2" kann ich an der Stelle sogar weglassen. Wenn LRow = 1 ist, wird das leere Feld "A2" übergeben - und ein leeres DropDown-Feld hat eine leere ComboBox sowieso.
viele Grüße
Christian

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige