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

Tabellenblatt soll Before Kopieren

Forumthread: Tabellenblatt soll Before Kopieren

Tabellenblatt soll Before Kopieren
04.03.2026 15:15:30
Dieter
Hey All,
Ich habe eine Mappe aus der ich eine bestimmte Tabelle heraus in einer anderen Mappe kopieren möchte.
Dieses klappt auch, aber die Tabelle wird immer ans Ende kopiert mit After:=
Die Textzeile befindet sich ca. in der Mitte vom Code. Eingefügt mit '---------------
Ich möchte aber gerne das die Tabelle hinter der 2 ten Tabelle eingefügt wird mit Before:=Sheet(2)
Hier mal der Code der sonst mit After funktioniert wie er soll.
Sub CodeAufAlleBlaetter()

Dim wbQuelle As Workbook
Dim wbZiel As Workbook
Dim pfadZiel As String
Dim objShape As Shape, objKomp As Object
Range("B1").Select
MsgBox "Button werden auch gelöscht " & ActiveSheet.Name & " geklickt!", vbInformation
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each objShape In ActiveSheet.Shapes
objShape.Delete
Next objShape
' Pfad zur geschlossenen Zieldatei
pfadZiel = Application.GetOpenFilename(FileFilter:="Excel-Dateien (*.xlsm*),*.xlsm*,(*.xls*),*.xls*")
' Quelle (aktuell geöffnete Mappe) und Ziel setzen
If pfadZiel = "Falsch" Then Exit Sub
'On Error Resume Next
Set wbQuelle = ThisWorkbook
Set wbZiel = Workbooks.Open(pfadZiel)

' Blatt "Tabelle1" aus der Quelle ans Ende der Zieldatei kopieren
'-----------------------------------------------------------------------
Hier muss die Zeile geändert werden auf Before ???
wbQuelle.ActiveSheet.Copy After:=wbZiel.Sheets(wbZiel.Sheets.Count)
'-----------------------------------------------------------------------
Set wbZiel = Workbooks.Open(pfadZiel)
' neu---Shapes-und-Codes-werden-gelöscht------------------
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Name Like "Btn_lösch*" Then
shp.Delete
ElseIf shp.Name Like "Btn_kopier*" Then
shp.Delete
End If
Next

With ActiveWorkbook.VBProject
For Each objKomp In .VBComponents
Select Case objKomp.Type
Case 1, 2, 3 ' Module, Klasssenmodule, Userforms
.VBComponents.Remove .VBComponents(objKomp.Name)
Case 100 ' Klasssenmodule von Workbook, Sheets
With objKomp.CodeModule
.DeleteLines 1, .CountOfLines
End With
End Select
Next
End With

End Sub


Gerne kann der Code als solches mal kontrolliert werden ob irgend welche Änderungen besser wären .?
Ich sage schon mal herzlichen Dank für die Mühe und ? Arbeit der Hilfe
MfG.
Dieter
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt soll Before Kopieren
04.03.2026 15:40:54
GerdL
Moin Dieter!

'Hier muss die Zeile geändert werden auf  Before ???

wbQuelle.ActiveSheet.Copy Before:=wbZiel.Sheets(3)

Gruß Gerd
AW: Tabellenblatt soll Before Kopieren
05.03.2026 15:06:04
Dieter
Hallo Gerd,
Vielen Dank für die Änderung, so ist wie ich wollte.
Hab zwar auch rumprobiert, aber so nicht geschrieben.
Danke Dir.
Lg
Dieter
Anzeige
AW: Tabellenblatt soll Before Kopieren
04.03.2026 16:01:16
Yal
Moin,

wenn es nicht sicher ist, dass die Zieldatei bereits mehr als 2 Blätter hat, kann man es so absichern:
'-----------------------------------------------------------------------

' Hier muss die Zeile geändert werden auf Before ???
wbQuelle.ActiveSheet.Copy After:=wbZiel.Sheets(Application.Min(2, wbZiel.Sheets.Count))
'-----------------------------------------------------------------------

Vor dem Dritte oder nach der zweite ist dasselbe.

VG
Yal
Anzeige
AW: Tabellenblatt soll Before Kopieren
05.03.2026 15:07:40
Dieter
Hallo Yal,
Wie immer vielen Dank auch an Dir, das klappt genauso gut wie von Gerd.
Danke
Lg
Dieter
AW: Tabellenblatt soll Before Kopieren
04.03.2026 17:12:59
Uduuh
Hallo,
Ich möchte aber gerne das die Tabelle hinter der 2 ten Tabelle eingefügt wird mit Before:=Sheet(2)
wat denn nu? Vor oder hinter?

Gruß aus'm Pott
Udo
Anzeige
AW: Tabellenblatt soll Before Kopieren
05.03.2026 15:13:53
Dieter
Hallo Udo,
Danke für den Hinweis ?
Aber komischerweise haben es Gerd und Yal verstanden was ich wollte.
Einfach hinter 2 tem. Tabellenblatt einfügen. Wie ich geschrieben hatte.
Ob jetzt genau hinter 2 tem oder 3 tem. ist egal weil ich das selber ändern kann.
Mir ging es hauptsächlich darum das ich die Codezeile nicht in Before:=
umgeändert bekam.
Trotzdem Danke an Dich, versuche mich demnächst anders aus zu drücken.
Lg
Dieter
Anzeige
AW: Tabellenblatt soll Before Kopieren
04.03.2026 21:05:12
snb
Verwende einfach:

Sheets.add ,sheets(2),, , "G:\OF\beispiil.xlsx"
AW: Tabellenblatt soll Before Kopieren
05.03.2026 15:30:38
Dieter
Hey snb.
Deine Code Zeile kann ich nicht gebrauchen ? , weil ich erstmal nur in .xlsm abspeichere in verschiedene Mappen.
Das ist eine komplexe Mappe aus der ich Daten zerstückele und in andere
Mappen kopiere zwecks Übersicht hinterher.
Ich suchte nur den Code für den Befehlzeile Before:= ?? den bekam ich irgendwie nicht hin.
Aber trotzdem auch ein Dank an Dich.
Lg
Dieter
Anzeige
AW: Tabellenblatt soll Before Kopieren
08.03.2026 12:19:38
Dieter
Hallo,
Hab vergessen als erledigt.
Noch mal danke an alle
LG
Dieter

Forumthreads zu verwandten Themen

Anzeige
Anzeige