Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Excel per VBA Bereich kopieren / bearbeiten / einfügen

Forumthread: Excel per VBA Bereich kopieren / bearbeiten / einfügen

Excel per VBA Bereich kopieren / bearbeiten / einfügen
14.07.2025 17:32:58
Markus123456789
Hallo zusammen,

ich finde gerade nicht die richtigen Suchbegriffe um auf eine Antwort zukommen.

Ich hab eine Tabelle da möchte ich einen bestimmen Zellbereich kopieren und dann bearbeiten um diesen Daten in einer anderen Tabelle einfügen zu können. Dazu müssen vor allem Spalten hinzugefügt werden, Formatierungen gelöscht werden usw.

Kann ich sowas immer nur indem ich den markierten Bereich auf einem Tabellenblatt einfüge oder kann ich das auch komplett im Zwischenspeicher machen? Hätte mir jemand ein Beispiel dafür?

Danke
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
14.07.2025 17:35:19
cysu11
Hi,

das geht per VBA, wenn das für die in Frage kommt, dann lade bitte deine Beispieldatei hoch mit Wunschergebnis.

LG, Alexandra
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
14.07.2025 18:08:46
cysu11
Hi Markus,

leere "Nachher" und führe den Code aus, nachdem du diesen in eine Allgemeinmodul eingefügt hast.

Sub TabelleKopierenUndBearbeiten()

Dim wsQuelle As Worksheet
Dim wsZiel As Worksheet
Dim tbl As ListObject
Dim kopieBereich As Range
Set wsQuelle = ThisWorkbook.Sheets("vorher")
Set wsZiel = ThisWorkbook.Sheets("nachher")
Set tbl = wsQuelle.ListObjects(1)
Set kopieBereich = tbl.Range
kopieBereich.Copy
With wsZiel.Range("A1")
.PasteSpecial xlValue
Application.CutCopyMode = False
End With
Columns(3).EntireColumn.Insert
Columns(3).EntireColumn.Insert
Columns(8).EntireColumn.Insert
End Sub


LG, Alexandra
Anzeige
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
15.07.2025 12:34:47
Markus123456789
Da die Zieltabelle schon besteht, sind die Befehle zum Spalteneinfügen nicht möglich. Lösung über temporäres Tabellenblatt wird angestrebt.
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
14.07.2025 18:20:28
JoWE
Hallo,
eine Methode Deine Anforderungen umzusetzen:

1. Kopiere den zusammenhängenden Bereich
2. Erstelle ein neues temporäres Tabellenblatt
2. Füge den kopierten Bereich in das neue und leere temporäre Tabellenblatt ein
3. Bearbeite das temporäre Tabellenblatt mit neuen Spalten, Formatierungen etc. so, dass es Deiner Zielvorstellung entspricht
4. Kopiere den fertig bearbeiteten und formatierten Bereich des temporären Tabellenblattes
5. Füge den kopierten Bereich dort ein, wo er zum Schluss vorhanden sein soll
6. Lösche schließlich das temporäre Tabellenblatt

Die Schritte 1. bis 6. kannst Du mit dem Makrorekorder aufzeichnen und das so entstandene Makro nachher in Deinem Sinne bearbeiten/kürzen/verbessern.

Gruß
Jochen
Anzeige
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
14.07.2025 22:24:48
GerdL
Hallo Markus,

ein kleiner Ansatz:
Sub Unit()


Dim a As Integer

With Worksheets("nachher")

Worksheets("vorher").ListObjects(1).Range.Copy .Cells(1, 1)
With .ListObjects(1)
.Range.Columns(6).Insert shift:=xlToRight
.Range.Columns(3).Resize(, 2).Insert shift:=xlToRight
For a = 1 To 9
.HeaderRowRange.Cells(a) = "Spalte " & a
Next
End With

End With


End

Gruß Gerd
Anzeige
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
15.07.2025 12:35:07
Markus123456789
Da die Zieltabelle schon besteht, sind die Befehle zum Spalteneinfügen nicht möglich. Lösung über temporäres Tabellenblatt wird angestrebt.
Aber Danke!
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
15.07.2025 14:45:07
JoWE
Hallo,
hier ein Makro, welches die von mir beschriebenen Schritte 1 - 6 ausführt und letztlich den eingefügten
Bereich im Blatt "nachher" zeigt:

Option Explicit


Sub Range_kopieren_und_in_Ziel_einfuegen()
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Sheets("vorher").Range("A1:F2").Copy 'hier anpassen wwelcher Bereich kopiert werden soll
Sheets.Add After:=Sheets(Sheets.Count)
With ActiveSheet
.Paste
.Columns("C:D").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
.Columns("H").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
.Range("A:I").Copy Destination:=Sheets("nachher").Range("A1") 'Ziel muss evtl. auch angepasst werden
End With
Sheets(Sheets.Count).Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


Gruß
Jochen
Anzeige
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
14.07.2025 17:45:00
Markus123456789
Hier eine Beispieldatei. Ich hoffe dadurch wird mein Thema klar. Auf dem Blatt "vorher" sind die Daten wie ich sie markieren möchte und auf dem Blatt "nachher" sind die Daten wie ich sie einfügen möchte.

https://www.herber.de/bbs/user/178080.xlsx
Anzeige
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
14.07.2025 18:37:27
daniel
Hi
die Beispieldatei ist noch sehr rudimentär.
könntest du sie etwas realitätsnäher gestalten?

zunächst einmal ein paar grundsätzliche Daten:
1. ist die Zieltabelle schon vorhanden und enthält sie Überschriften und Daten oder muss die Zieltabelle neu aufgebaut werden?
2. falls schon Daten vorhanden sind: sollten die kopierten Daten immer am Ende hinzugefügt werden oder auch mal zwischen drin eingefügt werden?
3. woher weiß man, in welche Spalte was kommt? kann man sich da ggf an Überschriften orientieren, dh die Inhalte werden in die Spalte mit der gleichen Überschrift geschrieben oder muss man da eine Zuordnungstabelle haben bzw "wissen", das der Inhalt von Spalte 3 im Ziel in die Spalte 5 kommt, wenn ja, wie und wo soll das hinterlegt werden?

so wie du dir das wünscht, wirst du wahrscheinlich um ein einfüge-Makro nicht herum kommen, ich würde das vermutlich so programmieren, dass aus der Auswahl jede Spalte einzeln kopiert und in die vorgegebene Zielspalte eingefügt wird.

Gruß Daniel
Anzeige
Im Anhang ist...
15.07.2025 14:20:11
Case
Moin Markus, :-)

... eine Möglichkeit über "Doppelklick" auf einen Eintrag in Spalte A deiner "vorher-Tabelle": ;-)
https://www.herber.de/bbs/user/178083.xlsb

Servus
Case
Anzeige
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
15.07.2025 12:33:37
Markus123456789
Hi,

die Zieltabelle ist schon vorhanden und die Daten müssen unten angefügt werden.

Deshalb fallen alle Lösungen mit Spalten einfügen in der Zieltabelle raus. Ich werde das mit einem Temporären Tabellenblatt machen.

Danke

Gruß
Markus
AW: Excel per VBA Bereich kopieren / bearbeiten / einfügen
15.07.2025 12:57:52
daniel
Hi
wenn Makros eine Option sind, könntest du sowas probieren.
hier wird der selektiere Bereich spaltenweise kopiert und in die Tabelle2 kopiert.
die Zielspalte wird dabei über die Spaltenüberschrift (beidesmal in Zeile 1) ermittelt, so dass die eingefügten Daten eine andere anordnung haben können als die die kopierten Daten.

Sub Copy_Spalten()

Dim c As Range
Dim üb As String
Dim Ziel As Range
Dim Fehler As String
Dim Zeilen As Long
Zeilen = Sheets("Tabelle2").Cells(1, 1).CurrentRegion.Rows.Count
For Each c In Selection.Columns
üb = Intersect(Rows(1), c.EntireColumn)
If üb > "" Then
Set Ziel = Sheets("Tabelle2").Rows(1).Find(what:=üb, lookat:=xlWhole, LookIn:=xlValues)
If Ziel Is Nothing Then
Fehler = Fehler & vbLf & üb
Else
c.Copy
Ziel.Offset(Zeilen, 0).PasteSpecial xlPasteValues
End If
End If
Next
If Fehler > "" Then MsgBox "diese Spalten konnten nicht kopiert werden:" & Fehler
End Sub
Anzeige

Forumthreads zu verwandten Themen

Anzeige