Ich versuche, meinen Code zu beschleunigen, indem Sie ihn nicht mit Select schreiben.Kopieren und Einfügen Arbeitsblatt-Name zu einem anderen Arbeitsblatt, das nicht aktiv ist, ohne zu verwenden/aktivieren
Ich habe drei Registerkarten, und ich möchte den Tabnamen neben den Daten, die in der jeweiligen Registerkarte angezeigt wird, einfügen, ohne die Registerkarte auszuwählen.
Ich finde jedoch, dass, wenn ich den Code z. B. auf Blatt 1 ausführen, es für Blatt 1 funktioniert, aber wenn es für Blatt 2 das gleiche tut, schlägt es mit Fehler "Laufzeitfehler" 1004 fehl ': Anwendungsdefinierter oder objektdefinierter Fehler. "
Bitte siehe unten meinen Code.
Sub Create_Reports_NEWWWW()
Application.ScreenUpdating = False
Dim wb As Workbook
Dim LastRow As Integer
Dim LastColumn As Integer
Set wb = ActiveWorkbook
'copy sheet name to right of raw data on each sheet
LastRow = wb.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(1).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(1).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(1).Name
LastRow = wb.Sheets(2).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(2).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(2).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(2).Name
LastRow = wb.Sheets(3).Cells(Rows.Count, 1).End(xlUp).Row
LastColumn = wb.Sheets(3).Cells(4, Columns.Count).End(xlToLeft).Column
wb.Sheets(3).Range(Cells(4, LastColumn + 1), Cells(LastRow, LastColumn + 1)) = wb.Sheets(3).Name
++ Sie haben Recht. Ich würde auch empfehlen, die DOTS vor Zeilen und Spalten hinzuzufügen. –
Richtig, danke. Bearbeitete sie in. –
Weil ich weiß. : P Willst du, dass ich es erkläre? ;) –