Supportnet / Forum / Tabellenkalkulation
Excel "Nächste Tabelle"
Frage
Hallo, habe eine Excel-Datei mit 50 + mehr Tabellen, die alle gleich aufgebaut sind. Nun möchte ich in einer neue Tabelle z.B. "Zusammenstellung" aus jedem Tabellenblatt eine immer gleiche Zeile nach "Zusammenstellung" kopieren,und zwar immer in eine neue Zeile. Mit meinem Tastatur-Makro schaffe das kopieren eines Tabellenblattes, wie aber bekomme ich es hin, das nach dem kopieren nicht wieder in das alte Tabellenblatt gesprungen wird, sondern in das nächste? Und wie kann ich es anstellen, dass diese Funktion von Tabelle"1" bis Tabelle"x" durchläuft. Vielen Dank vorab für die Unterstützung. Kurt
Antwort 1 von Saarbauer
Antwort 2 von coros
Hallo Kurt,
mit nachfolgendem Code wird Dir ein neues Tabellenblatt mit dem Namen "Zusammenstellung" erstellt und aus allen Tabellenblättern wird die Zeile 5 kopiert und in Blatt "Zusammenstellung" eingefügt.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche.
Soll eine andere Zeile als Zeile 5 kopiert werden, so muss in der Zeile
die Zahl 5 gegen die Zeilennummer, die kopiert werden soll, ausgetauscht werden.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich bitte.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
mit nachfolgendem Code wird Dir ein neues Tabellenblatt mit dem Namen "Zusammenstellung" erstellt und aus allen Tabellenblättern wird die Zeile 5 kopiert und in Blatt "Zusammenstellung" eingefügt.
Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche.
Option Explicit
Sub Daten_kopieren()
Dim i As Integer
Application.ScreenUpdating = False
For i = 1 To Worksheets.Count
If Sheets(i).Name = "Zusammenstellung" Then GoTo Weiter
Next
With Worksheets.Add
.Name = "Zusammenstellung"
.Move Before:=Sheets(1)
End With
Weiter:
For i = 1 To Worksheets.Count
If Sheets(i).Name <> "Zusammenstellung" Then
Sheets(i).Rows(5).Copy
Sheets("Zusammenstellung").Cells(Sheets("Zusammenstellung").Range("A65536").End(xlUp).Offset(1, 0).Row, 1).PasteSpecial
End If
Next
End SubSoll eine andere Zeile als Zeile 5 kopiert werden, so muss in der Zeile
Sheets(i).Rows(5).Copydie Zahl 5 gegen die Zeilennummer, die kopiert werden soll, ausgetauscht werden.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich bitte.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 3 von kg1645
Hallo Oliver,
danke für die Unterstützung. Dank Deiner HP habe ich alles hinbekommen, jedoch werden die Zeilen nicht kopiert. Es wir die Tabelle "Zusammenstellung" erstellt und im Register an die 1. Position verschoben.
Dann passiert nichts mehr.
Habe, wie beschrieben, nur die Zeile geändert, auf 107. Was mache ich falsch ?
Kann ich Dir das Exel-Sheet zusenden?
MfG Kurt
danke für die Unterstützung. Dank Deiner HP habe ich alles hinbekommen, jedoch werden die Zeilen nicht kopiert. Es wir die Tabelle "Zusammenstellung" erstellt und im Register an die 1. Position verschoben.
Dann passiert nichts mehr.
Habe, wie beschrieben, nur die Zeile geändert, auf 107. Was mache ich falsch ?
Kann ich Dir das Exel-Sheet zusenden?
MfG Kurt

