Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kopieren und am Ende der Tabelle einfügen

Kopieren und am Ende der Tabelle einfügen
31.08.2006 15:24:46
Gerhard
Hallo,
ich will in meiner Tabelle den Bereich von A5 bis F18 kopieren und an das Ende der Tabelle einfügen.
Wie kann ich das durch einen VBA-Code durchführen, damit ich bei Bedarf so oft diesen Bereich ans Ende der Tabelle kopieren kann wie ich es brauche?
Gruß
Gerhard
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren und am Ende der Tabelle einfügen
31.08.2006 15:46:02
Rudi
Hallo,

Sub xx()
Range("A5:F18").Copy Range("A65536").End(xlUp).Offset(1, 0)
End Sub

Gruß
Rudi

AW: Kopieren und am Ende der Tabelle einfügen
31.08.2006 16:04:24
Gerhard
Hallo,
danke, funktioniert wunderbar.
Gruß
Gerhard
AW: Kopieren und am Ende der Tabelle einfügen
31.08.2006 17:06:27
Gerhard
Hallo,
ich habe jetzt doch noch ein Problem.
Und zwar sollen nicht nur die Einträge kopiert werden, sondern auch die Formeln, Formate und Gültigkeit. Ich habe mal das Makro aufgezeichnet. Es sieht folgendermaßen aus:
Range("A4:F18").Select
Selection.Copy
ActiveWindow.SmallScroll Down:=48
Range("A79").Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Statt in A79 müßte das ganze natürlich auch wieder ans Ende der Tabelle eingefügt werden. Es muß also irgendwie noch mit dem Code verknüpft werden:
Range("A4:F18").Copy Range("A65536").End(xlUp).Offset(1, 0)
Es wäre schön, wenn du das noch hinbekommen würdest.
Gruß
Gerhard
Anzeige
AW: Kopieren und am Ende der Tabelle einfügen
31.08.2006 18:04:10
Rudi
Hallo,
mal so zusammengebastelt. Teste mal ob's klappt.

Sub xx()
Range("A5:F18").Copy
with Range("A65536").End(xlUp).Offset(1, 0)
.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
.PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
end with
End Sub

Gruß
Rudi
Anzeige
AW: Kopieren und am Ende der Tabelle einfügen
01.09.2006 09:28:23
Gerhard
Hallo,
danke, jetzt geht es.
Gruß
Gerhard
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel-Formel bis ans Ende der Tabelle kopieren


Schritt-für-Schritt-Anleitung

Um einen Bereich in Excel zu kopieren und am Ende der Tabelle einzufügen, kannst Du folgenden VBA-Code verwenden. Dieser Code kopiert den Bereich von A5 bis F18 und fügt ihn ans Ende der Tabelle ein:

Sub xx()
    Range("A5:F18").Copy Range("A65536").End(xlUp).Offset(1, 0)
End Sub
  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Gehe zu Einfügen > Modul, um ein neues Modul zu erstellen.
  3. Füge den obigen Code in das Modul ein.
  4. Schließe den VBA-Editor.
  5. Um das Makro auszuführen, drücke ALT + F8, wähle xx und klicke auf Ausführen.

Wenn Du sicherstellen möchtest, dass auch Formeln, Formate und Validierungsregeln kopiert werden, kannst Du den folgenden Code verwenden:

Sub xx()
    Range("A5:F18").Copy
    With Range("A65536").End(xlUp).Offset(1, 0)
        .PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        .PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        .PasteSpecial Paste:=xlPasteValidation, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End With
End Sub

Häufige Fehler und Lösungen

  • Fehler: „Der Bereich ist leer“
    Lösung: Stelle sicher, dass der zu kopierende Bereich (A5:F18) tatsächlich Daten enthält.

  • Fehler: „Zielbereich ist ungültig“
    Lösung: Überprüfe, ob die Zielzelle korrekt angegeben ist. Der angegebene Code verwendet .End(xlUp), um ans Ende der Tabelle zu gelangen. Achte darauf, dass Du in einem gültigen Arbeitsblatt bist.

  • Fehler: Formate werden nicht korrekt übernommen
    Lösung: Vergewissere Dich, dass Du die richtigen PasteSpecial-Methoden verwendest. Der Code muss alle benötigten Eigenschaften (Formeln, Formate, Validierungen) berücksichtigen.


Alternative Methoden

Wenn Du nicht mit VBA arbeiten möchtest, kannst Du auch die folgenden Methoden verwenden:

  1. Manuelles Kopieren: Markiere den gewünschten Bereich, drücke CTRL + C, gehe dann zur letzten Zelle in der Tabelle und drücke CTRL + V, um die Daten einzufügen.
  2. Drag & Drop: Halte die STRG-Taste gedrückt, während Du den Bereich ziehst, um ihn zu kopieren, anstatt zu verschieben.

Praktische Beispiele

Angenommen, Du hast eine Tabelle mit Verkaufsdaten in den Zellen von A5 bis F18. Nachdem Du die Daten kopiert hast, sieht das Ergebnis so aus:

A B C D E F
... ... ... ... ... ...
... ... ... ... ... ...
... ... ... ... ... ...
100 200 150 ... ... ... ← Kopiert bis ans Ende

Tipps für Profis

  • Automatisierung: Wenn Du häufig Daten kopieren musst, erwäge das Erstellen eines benutzerdefinierten VBA-Tools, um den Vorgang zu automatisieren.
  • Verwendung von Tabellen: Wenn Du Excel-Tabellen verwendest, kannst Du den Bereich dynamisch anpassen. Nutze die Excel-Funktion „Tabelle“, um die Daten zu verwalten.
  • Fehlerprotokoll: Füge Fehlerbehandlungsroutinen in Deinen VBA-Code ein, um Probleme während des Kopiervorgangs besser zu diagnostizieren.

FAQ: Häufige Fragen

1. Wie kopiere ich nur die Formeln ohne die Formate?
Du kannst den PasteSpecial-Befehl mit xlPasteFormulas verwenden, um nur die Formeln zu kopieren:

Selection.PasteSpecial Paste:=xlPasteFormulas

2. Kann ich diesen Prozess automatisieren?
Ja, indem Du das Makro in einer Schaltfläche oder einem Ereignis verknüpfst, kannst Du den Kopiervorgang automatisieren und mit einem einzigen Klick ausführen.

3. Wie kann ich diese Methode auf andere Bereiche anwenden?
Ändere einfach den Bereich in der Range-Funktion auf den gewünschten Bereich. Achte darauf, dass der Zielbereich weiterhin korrekt ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige