Listeninhalt in eine andere Liste kopieren

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Listeninhalt in eine andere Liste kopieren
von: Hendrik
Geschrieben am: 12.08.2015 10:01:04

Moin,
ich kopiere den Inhalt einer Liste auf dem UserForm in eine andere mittels

lst2.List = lst1.List
Nun habe ich jedoch lst1 dreispaltig und lst2 sechsspaltig. Obiger Befel funktioniert, macht aber auch lst2 wieder dreispaltig. Gibt es eine Möglichkeit, den Inhalt der ersten drei Spalten zu kopieren und die weiteren drei Spalten leer zu lassen, ohne dass ich die ganze Liste in einer Schelife durchlaufen muss?
Danke und Grüße
Hendrik

Bild

Betrifft: AW: Listeninhalt in eine andere Liste kopieren
von: Rudi Maintaire
Geschrieben am: 12.08.2015 10:27:55
Hallo,
macht aber auch lst2 wieder dreispaltig
Unsinn.
Schieb mal

Msgbox lst2.ColumnCount 

hinterher.
Gruß
Rudi

Bild

Betrifft: AW: Listeninhalt in eine andere Liste kopieren
von: Hendrik
Geschrieben am: 12.08.2015 10:34:46
Hallo Rudi,
okay, sie ist weiterhin sechsspaltig. Aber warum kann ich dann nur die ersten drei beschreiben und bekomme hier einen Fehler?

lst2.List(lst2.ListIndex, 3) = "x"


Bild

Betrifft: AW: Listeninhalt in eine andere Liste kopieren
von: Rudi Maintaire
Geschrieben am: 12.08.2015 10:54:44
Hallo,
die .List hat nur 3 Spalten.
Anregung zur Abhilfe:

Private Sub CommandButton1_Click()
  Dim vArr
  vArr = lst1.List
  ReDim Preserve vArr(LBound(vArr) To UBound(vArr), LBound(vArr, 2) To lst2.ColumnCount - 1)
  lst2.List = vArr
End Sub
Private Sub CommandButton2_Click()
  If lst2.ListIndex > -1 Then
    lst2.Column(3) = "x"
  Else
    MsgBox "Erst was auswählen!"
  End If
End Sub

Gruß
Rudi

Bild

Betrifft: AW: Listeninhalt in eine andere Liste kopieren
von: Hendrik
Geschrieben am: 12.08.2015 11:21:26
Danke für den Hinweis.
Aber ich verstehe noch nicht, warum columnscount = 6 sagt, aber ich nur drei Spalten habe...

Bild

Betrifft: noch'n Test
von: Rudi Maintaire
Geschrieben am: 12.08.2015 12:22:06
Hallo,
aber die . List hat nur 3 Spalten.

Private Sub CommandButton1_Click()
  Dim vArr
  With lst2
    .List = lst1.List
    MsgBox UBound(.List, 2)
  End With
  vArr = lst1.List
  ReDim Preserve vArr(LBound(vArr) To UBound(vArr), LBound(vArr, 2) To lst2.ColumnCount - 1)
  lst2.List = vArr
End Sub

Gruß
Rudi

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Listeninhalt in eine andere Liste kopieren"