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

Listbox einlesen

Listbox einlesen
25.02.2006 18:44:26
Walter
Hallo Guten Abend,
wie kann ich in eine Listbox1 aus der aktiven Sheet den Bereich einlesen,
spalten 3-10 + Spalte14 + 17 + 21.
Es soll immer der komplette Bereich, das ende der Tabelle ist immer durch die Nummerierung in der Spalte 1 zu erreichen.
Ich wechsel schon mal die Sheet, deshalb muß auch der Bereich eingelsen werden können. Die Spalten etc. alles gleich.
Für eine Hilfe bin ich dankbar,
gruß Walter

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox einlesen
25.02.2006 19:10:19
Olaf
Hi,
in einer ungebundenen Listbox können max. 10 Spalten angezeigt werden.
Du müßtest die Spalten in einem anderen Blatt zusammenfassen und dann mit Listfillrange/RowSource füllen.
mfg Olaf
AW: Listbox einlesen
25.02.2006 19:21:31
Walter
Hallo Olaf,
ich weiß garnicht was Du meinst.
Ich brauch allerdings 11 Spalten. Kannst Du mir mal ein Beispiel machen, habe versucht
mit: ListBox1.RowSource = "Tabelle1!C4:J" & Sheets("tabelle1").Range("J65536").End(xlUp).Row
in der UF Private Sub UserForm_Initialize()
einzubinden, leider ohne Erfolg.
Gruß Walter
AW: Listbox einlesen
25.02.2006 19:32:04
Olaf
Hi,
RowSource geht nur für einen zusammenhängenden Zellbereich, C bis J sind erst
8 Spalten und da ist der Code
ListBox1.RowSource = "Tabelle1!C4:J" & Sheets("tabelle1").Range("J65536").End(xlUp).Row
schon ok.
Die anderen 3 Spalten bekommst du so aber nicht in die Listbox.
mfg Olaf
Anzeige
AW: Dicke Problem mit Sheet
25.02.2006 20:03:45
Walter
Hallo Olaf,
Danke. Habe folgendes zusammengebastelt:
With ListBox1
.ColumnCount = 11
.RowSource = "C4:M400"
'Text,Kenn/Center/ Typ4/ Auftr/Kennz/Text/Erstz/ K /L / M
.ColumnWidths = "3,5cm;0,8cm;0,8cm;4cm;2,5cm;3cm;2,2cm;2,2cm;2cm;1,5cm;1,5cm;"
End With
Ich habe 11 Spalten sichtbar, habe dies in die UF eingesetzt, die Zahlen werden angezeigt, jedoch muß anstatt durchgehend bis "SpalteM" bis Spalte "E" haben und dann
Spalte 14+17+21 dazu, also die Menge geht.
Wie gesagt der Bereich muß von Zeile 4 anfangen und soweit bis die letzte Nr. der Spalte "A".
mfg Walter
Anzeige
AW: Dicke Problem mit Sheet
25.02.2006 20:15:20
Olaf
Hi,
entweder du liest alle Spalten ein und stellst die ColumnWidth der nicht gewünschten Spalten auf 0 (Null) ein, oder du kopierst die Spalten in ein anderes Blatt.
Nochmal, RowSource kann nur ein zusammenhängender Zellbereich sein.
mfg Olaf
warum RowSource ?
25.02.2006 20:22:48
Peter
Servus Olaf,
aber warum soll er unbedingt RowSource nehmen ?
Alles in ein Array einlesen und mit List auf einmal befüllen.
Z.B. so.


Option Explicit
Private Sub UserForm_Activate()
Dim myarr() As Integer  'evtl. anders Dimensionieren, _
                         kommt auf Inhalt der Zellen an !

Dim intZ As Integer
Dim myrng As Range, rng As Range
With Sheets("Tabelle1")
    Set myrng = Union(Range("A1:E1"), Range("N1:N1"), Range("Q1:Q1") _
        , Range("U1:U1"))
    ReDim myarr(0, 0 To 8)
    For Each rng In .Range(myrng.Address)
        myarr(0, intZ) = rng
        intZ = intZ + 1
    Next
End With
With Me.ListBox1
    .ColumnCount = 8
    .List = myarr
End With
End Sub


MfG Peter
Anzeige
AW: warum RowSource ?
25.02.2006 20:45:50
Olaf
Hi,
hättest seinen Beitrag lesen sollen, er braucht 11 Spalten und das geht nur
bei gebundener Listbox.
mfg Olaf
AW: warum RowSource ?
25.02.2006 22:14:56
Walter
Hallo Peter,
habe abgeändert:
Dim myarr() As Integer 'evtl. anders Dimensionieren, _
kommt auf Inhalt der Zellen an !
Dim intZ As Integer
Dim myrng As Range, rng As Range
With Sheets("Tabelle1")
Set myrng = Union(Range("A4:E100"), Range("N4:N100"), Range("Q4:Q100") _
, Range("U4:U100"))
ReDim myarr(0, 0 To 8)
For Each rng In .Range(myrng.Address)
myarr(0, intZ) = rng
intZ = intZ + 1
Next
End With
With Me.ListBox1
.ColumnCount = 8
.List = myarr
End With
leider wird nur eine Zeile angezeigt und das alles "0" , je Spalte.
mfg walter
Anzeige
AW: warum RowSource ?
26.02.2006 14:12:45
Peter
Servus Walter,
mach mal ein Bsp. mit Beschreibung was wohin muss.
MfG Peter
Habe die Lösung selbst gefunden, bin Stolz
26.02.2006 14:47:39
Walter
Hallo Peter und alle anderen,
habe die Lösung auch mit "RowSource" gefunden.
So:
Dim z
Range("B3").Select
z = Range("a3").End(xlDown).Row
With ListBox1
.ColumnCount = 21
.RowSource = "C4:U" & z
.ColumnWidths = "3cm;0,8cm;0,8cm;3,8cm;2,5cm;2,3cm;3cm;2cm;0cm;0cm;0cm;2cm;0cm;0cm;2cm;0cm;0cm;0cm;3cm;"
End With
Wenn ich die UF geöffnet habe und auch filter, werden mir nur die Zeilen angezeigt
die vorhanden sind.Es funktioniert einwandfrei,
mfg Walter
Danke o.t.
25.02.2006 20:23:25
Walter
Hallo Olaf,
bleibt mir wohl nichts anderes überig, werde ich dann auf "0" einstellen,
gute Nacht,
mfg Walter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige