Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
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
Inhaltsverzeichnis

VBA bestimmte Spalten kopieren

VBA bestimmte Spalten kopieren
03.09.2014 09:27:38
Andrea
Hallo zusammen,
folgendes Problem:
Ich habe eine Tabellenblatt mit einem Export aus einem anderen System. Der Export hat immer die gleichen Spalten und Spaltenüberschriften, nur unterschiedlich viele Zeilen und Inhalte.
Aus diesen "Rohdaten" suche ich nach bestimmten Werten in den Spalten pro Zeile. Wenn 3 meiner Bedingungen zutreffen, dann soll die Zeile in ein neues Tabellenblatt kopiert werden. So soll das ganze Dokument durchsucht werden und entsprechend die matchenden Zeilen kopiert werden. Jedoch soll nicht die gesamte Zeile kopieet werden sondern nur ausgewählte Spalten.
Dazu habe ich folgendes Makro geschrieben:
Sub Makro10()
Dim i As Integer
Dim ws1 As Worksheet: Set ws1 = ThisWorkbook.Sheets("Raw Data")
Dim ws2 As Worksheet: Set ws2 = ThisWorkbook.Sheets("Ergebnisliste")
For i = 2 To ws1.Range("B6553").End(xlUp).Row
If ws1.Cells(i, 7) = "Waggon" And ws1.Cells(i, 2) = "Lech" And ws1.Cells(i, 6) = "Sorte 8"   _
_
Then ws1.Rows(i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row + 1)
Next i
End Sub

Hier soll er auf dem Blatt Raw Data in der Spalte 7,2 und 6 nach den Werten Waggon, Lech und Sorte 8 suchen. Diese kopiert er dann auf das Blatt Ergebnisliste. Das Problem ist er kopiert jetzt die ganze Zeile, wie kann ich es machen dss er dann z.B. nur Spalte 1 und Spalte 5 dieser Zeile kopiert?
Die Datei habe ich mal mitangehangen.
Danke für die Hilfe

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA bestimmte Spalten kopieren
03.09.2014 09:30:54
Andrea
hmm dateiupload ging nicht die datei war ausgegraut und konnte diese nicht hochladne..liegts vielleicht daran, dass ich mit Mac arbeite?

AW: VBA bestimmte Spalten kopieren
03.09.2014 09:37:09
yummi
Hallo Andrea,

Then ws1.Range("G" & i & ",B" & i & ",F" & i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End( _
xlUp).Row + 1)
so in etwa
Gruß
yummi

AW: VBA bestimmte Spalten kopieren
03.09.2014 09:39:28
Beverly
Hi Andrea,
ws1.Range(ws1.Cells(i, 1), ws1.Cells(i, 5)).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End(xlUp).Row + 1)


Anzeige
AW: VBA bestimmte Spalten kopieren
04.09.2014 10:28:19
Andrea
Hi zusammen,
vielen Dank schon mal für die tolle schnelle Hilfe.
@Yummi, den Code habe ich teilweise verstanden. Ich habe diesen jetzt folgendermaßen erweitert:
Then ws1.Range("E" & i & ",C" & i & ",F" & i & ",A" & i & ",H" & i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End( _
xlUp).Row + 1)
Also auf die Spalten E,C,F,A,H. Das komische ist, wenn ich z.B. eine Spalte weglasse sprich das ganzes so habe
Then ws1.Range("E" & i & ",C" & i & ",F" & i & ",A" & i).Copy ws2.Rows(ws2.Cells(ws2.Rows.Count, 2).End( _
xlUp).Row + 1)
dann kopiert er das komplett anders als mit 4 gewünschten Spalten. Auch dachte ich, dass die Reihenfolge E,C,F,A,H genauso kopiert wird. Aber ich habe gelernt, dass die Reihenfolge bei der Range anscheinend irrelevant ist, weil er im Ergebnis aber nach den Reihen ACEFH kopiert.
Bin gerade erst mich am ausprobieren mit dem Thema Makro schreiben, daher muss ich mich da erst einfummeln, macht aber auf jeden Fall irgendwie Spass. Wenn ich die Kopie nicht in der Zelle A2 haben möchte, sondern B2 was müßte ich da noch ändern?
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige