Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1160to1164
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
Spalten in ListBox oder ComboBox
Rainer
Hallo,
es müsste doch eigentlich möglich sein, nicht nur Zeilen in einer ListBox oder ComboBox einzulesen, sondern auch Spalten.
Allerdings gebe ich im Eigenschaftenfenster einer ComboBox anstelle Range A1:A20 z.B. A1:Z1 ein, wird mir nur A1 angezeigt.
Müsste doch über VBA lösbar sein oder?
Wollte z. B. diesen Code von Franz
Private Sub UserForm_Initialize()
Dim lRow As Long
'Bereich mit Auswahldaten setzen F10:Gxxx
Set wks = ActiveSheet
With Me.Listbox1
.ColumnCount = 4
.ColumnWidths = "0Pt;200Pt;15Pt;20Pt" 'erster Pt = Zeilennummer > 0Pt = ohne Anzeige
'Daten der Listbox zuweisen
For lRow = 10 To wks.Cells(wks.Columns.Count, 6).End(xlUp).Row
If LCase(wks.Cells(lRow, 10)) = "x" Then '"x" in Spalte J
.AddItem lRow                                  'Zeilennummer
.List(.ListCount - 1, 1) = wks.Cells(lRow, 6).Text 'Spalte F
.List(.ListCount - 1, 2) = wks.Cells(lRow, 7).Text 'Spalte G
If LCase(wks.Cells(lRow, 10)) = True Then
.Selected(.ListCount - 1) = True
End If
Else
wks.Cells(lRow, 10).ClearContents
End If
Next
End With
End Sub
mit der Variablen lColumn entsprechend ab Spalte O, Zeile 1 und 2 - enstrechend Cells(1, lColumn) ... umsetzen.
Der Einzeldurchlauf im VBA-Editor brachte keinen Fehler.
Der Aufruf der UserForm klappte dann allerdings nicht.
Gruß Rainer

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Spalten in ListBox oder ComboBox
12.06.2010 13:01:00
Rainer
Hallo,
mir ist gerade eingefallen, dass mir Herr Herber mal was in diese Richtung programmiert hatte.
Habe diesen Code
   Dim iCol As Integer, iColL As Integer, iLst As Integer
Dim sTxt As String
iColL = GetLastColumn()
Range(Cells(1, 7), Cells(1, iColL)).EntireColumn.Hidden = True
For iCol = 7 To iColL
If IsEmpty(Cells(10, iCol)) Then
Listbox2.AddItem Cells(9, iCol).Value
Else
Listbox2.AddItem Cells(9, iCol).Value & " - " & Cells(10, iCol).Value
End If
Next iCol
For iCol = 7 To iColL
If Cells(7, iCol).Value = "ja" Then Listbox2.Selected(iCol - 7) = True
Next iCol

erhalten und muss nun lediglich versuchen mir diesen anzupassen.
Vielleicht schaffe ich es ja auch.
Gruß Rainer
Anzeige
AW: Spalten in ListBox oder ComboBox
12.06.2010 13:13:00
Tino
Hallo,
um einen Zellbereich (eine Zeile) in eine Listbox zu stellen reicht es auch so.
Private Sub UserForm_Initialize()
Dim meAr
meAr = Sheets("Tabelle1").Range("A1:Z1")'Dein Bereich
With Me.ListBox1
.List = Application.Transpose(meAr)
End With
End Sub
Gruß Tino
AW: Spalten in ListBox oder ComboBox
12.06.2010 13:40:27
Rainer
Hallo Tino,
hab's geschafft, den Code von Herrn Herber abzuändern.
Ergebnis:
Private Sub UserForm_Initialize()
Dim iCol As Integer, iColL As Integer, iLst As Integer
Dim sTxt As String
iColL = GetLastColumn()
For iCol = 15 To iColL Step 3
Listbox2.AddItem Cells(1, iCol).Value & " - " & Cells(2, iCol).Value
Next iCol
End Sub
Muss nun gleich weg, werde aber Deinen Code später auch noch testen.
Gruß Rainer
Anzeige
ist nicht eine Zeile
12.06.2010 14:00:22
Tino
Hallo,
Du wolltest doch nur eine Zeile A1:Z1 "...anstelle Range A1:A20 z.B. A1:Z1..."
nun verbindest Du Zeile1 und Zeile2
Gruß Tino
AW: Spalten in ListBox oder ComboBox
12.06.2010 19:01:02
Rainer
Hallo Tino,
Dein Code funktioniert natürlich auch und da ich mit VBA ja noch am lernen bin, sind mir solche Codes in welchen ich schnell die Zellen erkennen kann auch sehr hilfreich.
Da ich den Code sowohl für eine ListBox wie auch in einer ComboBox einsetzen möchte sind in meinem Code in der ListBox zwei Spalten (respektive Zeilen) untergebracht.
In der ComboBox brauche ich dann nur eine.
Einen Punkt habe ich jedoch noch.
Möchte Felder zur Pflege auswählen, welche sich aus dem Wert der ListBox1 und ListBox2 ergeben.
Also
ListBox1.Index = iRow
ListBox2.Index = iCol
Muss ich den jeweiligen Wert in einem Label festhalten?
Die Variable iRow ist ja mit Click auf ListBox2 nicht mehr vorhanden.
Gruß Rainer
Anzeige
AW: Spalten in ListBox oder ComboBox
12.06.2010 20:39:04
Rainer
Hallo,
hatt sich erledigt.
Muss ja einfach nur in jedes Click-Ereignis der ListBoxen beide Variablen unterbringen.
iRow = ListBox1.ListIndex
iCol = Listbox2.ListIndex
Gruß und schönes Wochenende
Rainer

311 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige