Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mehrspaltiges Listenfeld aus anderem Tabellenblatt

Forumthread: Mehrspaltiges Listenfeld aus anderem Tabellenblatt

Mehrspaltiges Listenfeld aus anderem Tabellenblatt
31.03.2004 12:56:39
Maik
Hallo Forum,
ich möchte nochmal um Eure Hilfe bitten.
Ich hadere mit einem Listenfeld im Tabellenblatt1, indem ich die Einträge der Spalten A bis F aus dem Tabellenblatt2 zeilenweise auflisten möchte. Zusätzliches Problem ist, dass sich die Spalten A bis F in Ihrer Höhe verändern können. Derzeit versuche ist es erfolglos mit diesem Code.

Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
With Worksheets("Tabelle2")
ListBox1.ListFillRange = .Range(.Cells(2, 1), .Cells(.Cells(65536, 2).End(xlUp).Row, 6)).Address(External:=True)
End With
'Cells(1, 22) = Listbox1.Value
End Sub

Grüße
Maik
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mehrspaltiges Listenfeld aus anderem Tabellenblatt
31.03.2004 13:37:02
K.Rola
Hallo,
Beispiel:
Option Explicit

Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim Bereich As Range, ws As Worksheet
Set ws = Sheets("Tabelle2")
Set Bereich = ws.Range(ws.Cells(2, 1), ws.Cells(ws.Cells(65536, 2).End(xlUp).Row, 6))
ListBox1.ListFillRange = Bereich.Address(External:=True)
End Sub

Gruß K.Rola
Anzeige
Columns.Autofit ??
31.03.2004 14:24:30
Maik
Hallo K.Rola
spitzenmäßig. Funktioniert. Herzlichen Dank.
Weist Du, wie ich jetzt noch für jede Spalte die Breite automatisch anpassen kann?
Maik
AW: Columns.Autofit ??
31.03.2004 14:45:31
K.Rola
Hallo,
du meinst doch bestimmt die Spalten der Listbox, oder?
Gruß K.Rola
AW: Columns.Autofit ??
31.03.2004 15:40:27
K.Rola
Hallo,
ein Autofit für Listboxen gibts nicht, aber hier ein workaraound:
Option Explicit

Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim Bereich As Range, ws As Worksheet, colW As String, s As Byte
Set ws = Sheets("Tabelle2")
ws.Columns.AutoFit
Set Bereich = ws.Range(ws.Cells(2, 1), ws.Cells(ws.Cells(65536, 2).End(xlUp).Row, 6))
ListBox1.ListFillRange = Bereich.Address(External:=True)
For s = 1 To 6
colW = colW & ws.Cells(1, s).ColumnWidth * 7.2 & ";"
Next
colW = Left(colW, Len(colW) - 1)
ListBox1.ColumnWidths = colW
End Sub

Gruß K.Rola
Anzeige
Range
31.03.2004 16:17:03
Maik
Hallo K.Rola,
sehr nett, dass Du Dir nochmal Mühe gemacht hast. Leider erhalte ich die Fehlermeldung:
Autofit Methode des RangeObjekts ist fehlerhaft.
ich habe bereits versucht, die Zeile
ws.Columns.AutoFit
mit ws.UsedRange.Colums.Autofit und
ws.Range("Bereich").Columns.AutoFit anzupassen, klappt aber auch nicht.
Weisst Du woran es liegt?
Maik
Anzeige
AW: Range
31.03.2004 16:35:20
K.Rola
Hallo,
hast du den Code kopiert oder abgeschrieben?
Ist das Blatt geschützt?
Bei Excel 97 kanns passieren, dass erst der Focus von der Listbox
genommen werden muss.
Schieb mal ein: [a1].select
Besser ist auch, das Füllen nicht mit Mousedown auszulösen, das
kann doch auch in Sheet_activate passieren.
Gruß K.Rola
Anzeige
das wars.
31.03.2004 16:45:46
Maik
Mit dem vorherigen selektieren einer Zelle klappt es.
Hast mir sehr geholfen. Vielen Dank.
Maik
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige