Ich versuche, bestimmte Daten von jedem Blatt in einer Arbeitsmappe zu kopieren und sie nacheinander auf ein anderes Blatt einzufügen. Die Anzahl der Zeilen ist auf jedem Blatt unterschiedlich, daher muss ich nur nicht leere Zellen auswählen (und Formeln ausschließen, die zu Leerzeichen führen, dh = ""). Ich brauche es auch, um über 5 Blätter zu überspringen, da diese die Informationen nicht angefordert haben. Sheets [ "ZUSAMMENFASSUNG TEMPLATE", "Kontoauszug", "MILEAGE TRACKER", "ACTIVITY TRACKER" und "PBI DATA"]Kopieren Sie nur Datenzellen in ein neues Arbeitsblatt, aber durchlaufen Sie jedes Arbeitsblatt.
Hier ist, was ich tun möchte:
- Schleife durch jedes Arbeitsblatt außer den 5 oben. Kopieren Sie auf jedes Arbeitsblatt alle nicht leeren Zellen im Bereich (B26: E38) und fügen Sie sie in das Blatt "Aktivitätsdaten" unter der nächsten leeren Zelle ein.
Ich habe versucht, ein paar verschiedene Codes zusammenzufügen, aber keiner von ihnen funktioniert zusammen.
Bitte helfen!
Ich schätze wirklich jede Hilfe, danke !!
Hier ist, was ich habe, es funktioniert, wenn ich es auf dem Active Sheet ausführen, aber wenn ich es auf allen Blättern (für jedes ws in Worksheets) ausführen, bekomme ich eine Reihe von Fehlern.
Sub a()
Dim LR As Long, cell As Range, rng As Range
Dim ws As Worksheets
For Each ws In Worksheets
With ws
LR = ws.Range("B" & Rows.Count).End(xlUp).row
If ws.Name <> "SUMMARY TEMPLATE" And ws.Name <> "MILEAGE SUMMARY" And ws.Name <> "MILEAGE TRACKER" _
And ws.Name <> "ACTIVITY TRACKER" And ws.Name <> "PBI DATA" Then
For Each cell In .Range("B26:E26" & LR)
If cell.Value <> "" Then
If rng Is Nothing Then
Set rng = cell
Else
Set rng = Union(rng, cell)
End If
End If
Next cell
rng.Select
End With
Next ws
End If
End With
Next
Selection.Copy
Sheets("ACTIVITY TRACKER").Select
Range("A" & Rows.Count).End(xlUp).Offset(1).Select
Selection.PasteSpecial Paste:=xlPasteValues
End Sub
Können Sie die Fehler einfügen, die Sie erhalten, wenn Sie den Code auf allen Arbeitsblättern ausführen? – Louis
Wenn es nur 1 Blatt gibt, läuft es gut, wenn es mehr als eins gibt, erhalte ich einen Laufzeitfehler '1004: Wählen Sie Methode der Range-Klasse fehlgeschlagen. – trinicole
der Code, der nach dem Debuggen hervorgehoben wird, ist: rng.Select – trinicole