Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen

Mehrere Spalten aus Listbox kopieren

Betrifft: Mehrere Spalten aus Listbox kopieren von: Chris
Geschrieben am: 24.07.2014 07:31:55

Hallo Excel-VBAler

ich verwende eine Listbox aus der ich bestimmte Einträge kopieren möchte:

Wenn in Spalte 4 der Eintrag "*gekauft*" steht, kopiere die jeweilie Zeile komplett (also auch die Spalten 1,2 und 3.)
Füge dann alle vier Einträge in Tabelle2 cells(x,5) untereinander ein. Such vorher jeweils die letzte beschriebene Zelle in Spalte E.
Meine VBA Kenntnisse reichen dafür leider nicht aus.

HIer ist schon mal ein (falscher?) Ansatz:

dim i as Long With ListBox3
For i = 0 To Me!ListBox3.ListCount - 1
For Each Item In ListBox3.List(i, 6)
If ListBox3.List(i, 6) = "*gekauft*" Then
....
End If
Next
End With
End Sub

Danke Chris

  

Betrifft: schon mal im Archiv gestöbert ? von: Matthias L
Geschrieben am: 24.07.2014 08:16:54

Hallo

Hast Du denn schon mal im Archiv gestöbert?
z.B. hab ich hier was gefunden:

https://www.herber.de/forum/archiv/892to896/894100_werte_aus_Listbox_kopieren.html#894187

Könnte genau das sein was Du benötigst

Gruß Matthias


  

Betrifft: AW: schon mal im Archiv gestöbert ? von: Chris
Geschrieben am: 24.07.2014 08:47:14

Hallo Matthias,

das ist es fast. In dem Makro wird die Spalte kopiert die angeklickt ist. Ich brauch jedoch:

"Kopiere alle Spalten, wenn in der letzten Spalte (Spalte 4 der Listbox) "*gekauft* steht" und setze dann alle 4 Spalten unter die letzte beschriebene Zelle in "Tabelle2", ab Cells(irgendwas, 5).

Gruß
Chris


  

Betrifft: Spalte oder Zeile ... ? von: Matthias L
Geschrieben am: 24.07.2014 09:06:13

Hallo

Naja, ich hätte gedacht es wird eine komplette Zeile kopiert
Evtl. sollten wir erst mal abklären was Du wirklich benötigst.

Gruß Matthias


  

Betrifft: AW: Spalte oder Zeile ... ? von: Chris
Geschrieben am: 24.07.2014 17:15:21

Hallo Matthias.

ja, eine komplette Zeile. Keine Spalte. Hier Beispieldatei:


https://www.herber.de/bbs/user/91704.xlsm
Chris


  

Betrifft: wie siehts denn mit ner Bsp-Datei aus?...owT von: Oberschlumpf
Geschrieben am: 24.07.2014 08:52:39




  

Betrifft: AW: wie siehts denn mit ner Bsp-Datei aus?...owT von: Chris
Geschrieben am: 24.07.2014 16:02:43

Genau - hier eine Beispieldatei mit eine Listbox. Alles weiter in der Listbox und auf Tabelle2, da wo hineinkopiert werden soll. Thx, Chris

https://www.herber.de/bbs/user/91704.xlsm


  

Betrifft: AW: wie siehts denn mit ner Bsp-Datei aus?...owT von: Oberschlumpf
Geschrieben am: 24.07.2014 19:58:00

Hi Chris

hier, versuch mal
https://www.herber.de/bbs/user/91706.xlsm

Unabhängig von markierten Zeilen in der Listbox werden alle Zeilen, bei denen in der 4. Spalte "*gekauft*" steht, nach Tabelle2, beginnend in E10 ff übertragen.

Hilfts?

Ciao
Thorsten


  

Betrifft: AW: wie siehts denn mit ner Bsp-Datei aus?...owT von: Chris
Geschrieben am: 24.07.2014 21:22:20

Hallo Thorsten,

ja super - läuft perfekt. so brauche ich das.
Kannst du mir die beiden Zeilen "ins Deutsche" übersetzen, vor allem die For-anweisung

For liIdx = 0 To .ListCount - 1 --- 0 und -1 hä???
If .List(lildx, 3)

Danke nochmal,

Chris


  

Betrifft: AW: wie siehts denn mit ner Bsp-Datei aus?...owT von: Oberschlumpf
Geschrieben am: 24.07.2014 23:03:37

Hi Chris

.ListCount = Anzahl aller Einträge (Zeilen) in der Listbox, z Bsp 5 (gezählt wird hier 1 bis 5)

0 deswegen, weil der 1. "Platz" (Eintrag) in der Listbox bei 0 ist

Und -1, weil jetzt nur noch bis 4 gezählt werden darf, du verstehst?

0 = 1. Eintrag
1 = 2. Eintrag
2 = 3. Eintrag
3 = 4. Eintrag
4 = 5. Eintrag

Alles klar?

====================================================================

eigtl dachte ich, "If .List(lildx, 3)" bereitet dir keine Probleme, weil du ähnlichen Code doch innerhalb des Userforms verwendest.

deine Listbox besteht aus ListCount Zeilen und 5 Spalten.
liIdx ist die Zählvariable, die die jeweiligen Zeilen der Listbox "aufruft".
Und in Spalte 3, es ist die VIERTE Spalte, befindet sich der Wert "*gekauft*".
Wenn eine Zeile mit diesem Wert in der 4. Spalte gefunden, übertrage die ganze Zeile in Tabelle2.

Ist auch das ok?

Ciao
Thorsten


 

Beiträge aus den Excel-Beispielen zum Thema "Mehrere Spalten aus Listbox kopieren"