Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
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
Problem mit Spaltenanzahlt in ListBox
19.02.2018 15:25:47
ray
Hallo,
ich brauche 45 Spalten in der Listbox auf meiner UserForm. es werden aber nur 30 angezigt, obwohl ich bei den Eigenschaften im VBeditor 45 eingetragen hab. Mir scheint, es ist noch woanders einzugeben. heir mein Code
With ListBox1
.List = Range("A1").CurrentRegion.Value
If .ListCount > 0 Then .ListIndex = 0
End With
Viele Grüße aus Hamburg
Ray

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nicht nachvollziehbar. ev. leere Spalte (owT)
19.02.2018 15:43:10
EtoPHG

AW: Nicht nachvollziehbar. ev. leere Spalte (owT)
19.02.2018 15:53:24
ray
ok,
@Karin: Das hatte ich schon gelsen, ist anders Thema.
@ EtoPHG:
Hier der gesamte Code den ich ausführe um die Listbox auf der Userform beim Starten selbiger zu füllen:
<pre>Private Sub UserForm_Initialize()
'### xls öffnen, Daten von sheet in Listbox einlesen, xls close. START ############
Dim wbk As Workbook
Dim wks As Worksheet
Set wbk = Workbooks.Open("G:\data\Liste.xls")
Set wks = wbk.Sheets(3)
wks.Select
With ListBox1
.List = Range("A1").CurrentRegion.Value
If .ListCount > 0 Then .ListIndex = 0
End With
wbk.Close SAVECHANGES:=False
Set wbk = Nothing
Set wks = Nothing
'### VeListe öffnen, Daten in Listbox einlesen, VeListe close. ENDE ############
End Sub</pre>
Anzeige
AW: Nicht nachvollziehbar. ev. leere Spalte (owT)
19.02.2018 15:54:52
ray
noch offen
und? was soll ich damit? Beispielmappe! (owT)
19.02.2018 15:57:47
EtoPHG

noch offen. oT
19.02.2018 16:03:58
ray
oT
AW: noch offen. oT
19.02.2018 16:25:51
Luschi
Hallo ray,
da man mit 'CurrentRegion' die Katze im Sack kauft, kann man nie wissen, um wieviele Spalten es sich denn nun handelt.
Deshalb sieht meine Routine so aus:

Private Sub UserForm_Initialize()
Dim rg As Range
Set rg = Tabelle1.Range("A1").CurrentRegion
With Me.ListBox1
.ColumnCount = rg.Columns.Count
.List = rg.Value
If .ListCount > 0 Then .ListIndex = 0
End With
Set rg = Nothing
End Sub
Gruß von Luschi
aus klein-Paris
keinen Unterschied leider...
20.02.2018 09:01:51
ray
Hi Luschi,
ich bekomme auch mit Deinem Code nur die ersten 30 Spalten in der Listbox angezeigt....
noch ne Idee?
VG Ray
Anzeige
Hier die Lösung
20.02.2018 11:19:08
Ray
Für das Archiv hier die Lösung:
'### Liste öffnen, Daten in Listbox einlesen, Liste close. START ############
Dim wbk As Workbook
Dim wks As Worksheet
Set wbk = Workbooks.Open("G:\dat\Liste.xls")
Set wks = wbk.Sheets(3)
wks.Select
Dim ZeileMAx As Long
Dim Vardat As Variant
ZeileMAx = wks.Cells(wks.Rows.Count, 1).End(xlUp).Row
Vardat = wks.Range("A1:AZ" & ZeileMAx).Value
With Me.ListBox1
.ColumnCount = wks.Range("A1:AZ1").Columns.Count
.RowSource = wks.Range("A1:AZ" & ZeileMAx).Address
End With
wbk.Close SAVECHANGES:=False
Set wbk = Nothing
Set wks = Nothing
'### VeListe öffnen, Daten in Listbox einlesen, Liste close. ENDE ############
VG Ray
Anzeige
AW: keinen Unterschied leider...
20.02.2018 11:22:03
Luschi
Hallo ray,
die ListBox besitzt auch noch die Eigenschaft/Property 'ColumnWith'.
Hier kann man die Spaltenbreite je Spalte festlegen,. Wenn da was drinn steht und es sind nur
30 Angaben (durch ';' getrennt), dann sieht der User auch nur 30 Spalten!
Gruß von Luschi
aus klein-Paris
funzt doch nicht ganz...
20.02.2018 11:34:53
ray
...also ich hab jetzt mal die Angaben zu Spaltenbreite rausgenommen und den alten Code versucht
With ListBox1
.List = Range("A1").CurrentRegion.Value
If .ListCount > 0 Then .ListIndex = 0
End With
Es steht jetzt bei Colum widths gar nix und ich bekomme trotzdem nur 30 Spalten.
bei dem neuen Code bekomme ich alle Spalten aber ich bekomme die Mld für diesen vorgang ist nicht genügend speicher verfügbar und das Prog kackt ab.
Letztendlich brauche ich 700 Zeilen und 46 Spalten...
Ne Idee?
VG Ray
Anzeige
Nur aber die Lösung:
20.02.2018 11:56:18
Ray
So gehts es nu ohne Probleme:
With ListBox1
'old: .List = Range("A1").CurrentRegion.Value
.List = Range("A1:AZ700").Value 'Achtg: bei den Eigenschaften muss bei Colum widths Pts für die Spalten eingetragne sein. Zu wenig Pts als im Range angegeben -> Spalten werden nicht angezeigt
If .ListCount > 0 Then .ListIndex = 0
End With
AW: Nur aber die Lösung:
20.02.2018 15:28:03
Luschi
Hallo Ray,
so ist das eben, wenn man ohne Demodatei von Anfragenden sich auf Fehlersuche begeben muß.
Da fühlt man sich machmal wie so'n Wünschelrutengänger, der eine Wasser-/Öl-/Goldader sucht.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Nur aber die Lösung:
20.02.2018 16:22:36
ray
Kein Ding.

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige