Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1164to1168
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
Inhaltsverzeichnis

wie bei nur einem Eintrag

wie bei nur einem Eintrag
Peter
Hallo Excel-Experten
ich habe das Problem, Daten aus einer Spalte in eine ComboBox in einem UserForm einzulesen, wenn es sich um eine einzige Zeile handelt.
Sowie es zwei Zeile sind funktioniert es.
Wo liegt hier mein Denkfehler?
Für einen guten Hinweis schon im voraus vielen Dank.
Gruß Peter
https://www.herber.de/bbs/user/70349.xls

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: wie bei nur einem Eintrag
30.06.2010 20:57:22
Ramses
Hallo
Verwende diese Anweisung
With ComboBox1
.Clear
.Style = 2
.RowSource = "B2:B" & lLetzte
End With
Gruss Rainer
AW: wie bei nur einem Eintrag
30.06.2010 21:44:22
Peter
Hallo Ramses,
danke für Deine Lösung, ich mag aber den RowSource nicht, und werde deshalb die Lösung von Steffen favorisieren.
Gruß Peter
Nur aus Interesse...
01.07.2010 14:53:38
Ramses
Hallo
Warum kein RowSource ?
Gruss Rainer
AW: Nur aus Interesse...
01.07.2010 14:57:27
Peter
Hallo Rainer,
das ist eine nicht zu begründende Aversion :-(
Gruß Peter
2.Möglichkeit
30.06.2010 21:09:10
CitizenX
Hallo Peter,
mit "Rowsource" wird das Datumsformat nicht beibehalten,warum weiß ich nicht !
Ich hätts daher vlt so gelöst:
Private Sub UserForm_Initialize()

Dim lLetzte  As Long
Dim vTemp    As Variant

   With ThisWorkbook.Worksheets("Tabelle1")
      lLetzte = .Cells(Rows.Count, 2).End(xlUp).Row
      If lLetzte < 2 Then lLetzte = 2
      vTemp = .Range("B2:B" & lLetzte)
   End With

   With ComboBox1
      .Clear
      .Style = 2
      If lLetzte = 2 Then
        .AddItem (vTemp)
      Else
      .List = vTemp
      End If

   End With

End Sub
viele Grüße
Steffen
Anzeige
AW: 2.Möglichkeit
30.06.2010 21:43:01
Peter
Hallo Steffen,
danke für Deine Lösung, ich werde sie verwenden.
Gruß Peter
AW: wie bei nur einem Eintrag
30.06.2010 22:46:54
Daniel
HI
das Problem ist folgendes:
man kann .LIST nur ein Datenfeld zuweisen.
wenn du aber einer Variant-Variable eine Zellbereich zuweist, der genau eine Zelle gross ist, dann wird die Variant-Variable nicht zu einem Datenfeld, sondern "nur" zu einer einfachen String- oder Zahlenvariable (Long, Double)
Damit kannst du sie nicht mehr zuweisen.
dh. du musst entweder dafür sorgen, daß dein Zellbereich immer mindesten 2 Zellen umfasst:

If loLetzte 
hat aber den Nachteil, daß der Anwender ein Leerfeld auswählen kann.
oder du musst LoLetze prüfen und wenn der Wert Gruß, Daniel
Anzeige
AW: wie bei nur einem Eintrag
30.06.2010 23:43:45
Gerd
HI
hat aber den Nachteil, daß der Anwender ein Leerfeld auswählen kann.?
.Remove .ListCount-1
Gruß Gerd
AW: wie bei nur einem Eintrag
01.07.2010 08:54:32
Peter
Hallo Gerd,
so erweitert .RemoveItem (.ListCount - 1) funktioniert es.
Gruß Peter
AW: wie bei nur einem Eintrag
01.07.2010 08:55:36
Peter
Hallo Daniel,
danke für Deine Erklärung, sie sind einleuchtend.
Gruß Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige