Gibt es eine einfache Möglichkeit in einen Listenfeld, welches seine Daten aus einer Excel-Tabelle bezieht die Spalten zu tauschen?
Also als erste Spalte im Listenfeld Spalte B und in die zweite Spalte A anzuzeigen.
Mit freundlichen Grüßen Jens
Private Sub UserForm_Initialize()
With ListBox1
.ColumnCount = 2
.ColumnHeads = True
.RowSource = "Datentabellen!A2:B500"
End With
End Sub
Do
Set RaZelle = .Range("B" & Zähler & ":B" & .Range("B1") - 1).Find(What:=Suche)
If Not RaZelle Is Nothing Then
LST_Nummer.AddItem .Range("C" & RaZelle.Row)
LST_Nummer.List(LoZeile, 1) = .Range("B" & RaZelle.Row)
LST_Nummer.List(LoZeile, 2) = .Range("D" & RaZelle.Row)
LST_Zeile.AddItem RaZelle.Row
LoZeile = LoZeile + 1
Zähler = RaZelle.Row + 1
If Zähler > .Range("B1") - 1 Then Exit Do
Else
Exit Do
End If
Loop
Dim Lozeile As Long
Dim Zähler As Long
Dim RaZelle As Range
Zähler = 1
Do
' Suchen den Werrt im Bereich B& Zähler bis B200 und ergbenis auf RaZelle schreiben
Set RaZelle = Range("B" & Zähler & ":B200").Find(What:="Werte")
' Ist der Wert gefunden ist Razelle <> Nothing
If Not RaZelle Is Nothing Then
' erste Spalte füllen mit Spalte C und die gefundene Zeile
LsT_Nummer.AddItem Range("C" & RaZelle.Row)
' zweite Spalte füllen mit Spalte B und die gefundene Zeile
LsT_Nummer.List(Lozeile, 1) = Range("B" & RaZelle.Row)
' dritte Spalte füllen mit Spalte D und die gefundene Zeile
LsT_Nummer.List(Lozeile, 2) = Range("D" & RaZelle.Row)
' vierte Spalte füllen mit der Zeilennummer
LsT_Nummer.List(Lozeile, 3) = RaZelle.Row
' Zeile in der Geschrieben wurde um 1 erhöhen
Lozeile = Lozeile + 1
' Beginn des Suchbereichs neu festlegen
Zähler = RaZelle.Row + 1
If Zähler > 200 Then Exit Do
Else
Exit Do
End If
Loop