folgendes Makro kopiert mir alle Daten von allen Tabellenblättern einer Datei und überträgt diese in ein Blatt WORK. Das Makro funktioniert soweit einwandfrei.
Nun möchte ich beim Übertragen, die Daten um eine Spalte verschieben. Also Spalte-1 von Quell-Blatt-1 soll nach Work Spalte-2 übertragen werden, usw...
Zusätzlich soll in WORK in jeder übertragenen Zeile in Spalte 1 der Name des Quell-Tabellenblattes stehen.
Mein Ziel ist es über die Daten aller Tabellenblätter auf einer Seite zu sammeln, damit ich eine Pivot erstellen kann. Ich möchte den Tabellenblattnamen als zusätzliches Auswahlkriterium in der Pivot haben.
Hoffe, es kann mir jemand helfen - danke - Herbi
Sub copytabelle()
' copytabelle Makro
' Makro am 11.09.2007 von htjenu aufgezeichnet
Dim wksSheets As Worksheet
Dim strTarget As String
Dim lngI As Long, lngTargetLastRow As Long
' *** Hier den Namen des Blattes angeben in das kopiert werden soll !!!!
strTarget = "Work"
If MsgBox("Wollen Sie die Daten im Tabellenblatt " & strTarget & " vorher löschen ?!", vbYesNo) _
_
_
_
_
= vbYes Then
Sheets(strTarget).Cells.Delete
End If
Application.ScreenUpdating = False
For Each wksSheets In ActiveWorkbook.Worksheets
If wksSheets.Name strTarget Then
For lngI = 1 To wksSheets.Cells(Rows.Count, 1).End(xlUp).Row
' If UCase(wksSheets.Cells(lngI, 1)) = UCase("realisation") Then
wksSheets.Cells(lngI, 1).EntireRow.Copy
lngTargetLastRow = Sheets(strTarget).Cells(Rows.Count, 1).End(xlUp).Row
Sheets(strTarget).Cells(lngTargetLastRow + 1, 1).Activate
ActiveSheet.Paste
' End If
Next lngI
End If
Next wksSheets
Application.ScreenUpdating = False
End Sub