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

Forumthread: Tabellenblatt kopieren ohne Makro

Tabellenblatt kopieren ohne Makro
13.04.2005 09:05:20
Benny
Hey Leute,
ich möchte ein Tabellenblatt aus einer Mappe in eine neue Mappe kopieren, ohne das die dort integrierten Programmierzeilen (z.B. Worksheet_Change) des Tabellenblattes mit übernommen werden, weil sonst die integrierten Verknüpfungen Fehlermeldungen verursachen.
Würde mich über eine unkomplizierte Lösung sehr freuen.
Gruß
Benny
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblatt kopieren ohne Makro
13.04.2005 09:24:54
roland_k
hi benny
ich wuerde das mit ner vorlage machen ....diese ohne den code
dann per makro kopieren und umbenennen
ist nur ein gedankengang warte mal ab was die profis hier zeigen
drum habe frage als noch offen deklariert
ist aber moeglich dass mein vorschlag gar nicht gut ist :-.(
gruesse
roland_k
Anzeige
AW: Tabellenblatt kopieren ohne Makro
13.04.2005 09:27:29
Rolf
Hallo Benny,
damit kannst du Code in Klassenmodulen löschen
fG
Rolf

Sub code_in_klassenmodulen_löschen()
Dim vb As Object
Dim m As Object
Dim n As Integer, i As Integer
Dim rc As Variant
Set vb = ActiveWorkbook.VBProject.VBComponents
For Each m In vb
If m.Type = 100 Then
n = m.CodeModule.CountOfLines
If n > 0 Then
rc = MsgBox("Soll der Code im Klassenmodul von   " _
& m.Name & "   wirklich gelöscht werden?", 4)
If rc <> 7 Then
For i = n To 1 Step -1
m.CodeModule.DeleteLines i
Next
End If
End If
End If
Next
End Sub

Anzeige
AW: Tabellenblatt kopieren ohne Makro
14.04.2005 12:14:22
Benny
Hallo Rolf,
leider kann ich mir nicht vorstellen wie ich mit deiner Sub umgehen soll. Wo müsste ich Sie einbinden damit sie auf den u.a. Pfad verzweigt?
Die Programmierzeilen die ich meine stehen unter "Microsoft Excel Objekte" und dort in "Tabelle (Beschaffungsanlage)" also nicht unter Klassenmodule.
Vielen Dank für deine Mühe
Gruß
Benny
Anzeige
AW: Tabellenblatt kopieren ohne Makro
14.04.2005 13:11:52
Rolf
Hallo Benny,
du legst ein neues Modul in einer beliebigen
Arbeitsmappe an + kopierst den Code hinein.
Dann aktivierst du eine TESTMAPPE die den
Ereigniscode deines Tabellenblatts enthält.
Dann startest du das Makro "code_in_klassenmodulen_löschen"
und schaust dir an, was passiert.
fG
Rolf
Anzeige
AW: Tabellenblatt kopieren ohne Makro
14.04.2005 14:16:25
Benny
Hallo Rolf,
echt super dein Makro funktioniert auch ohne Probleme.
Dennoch eine kurze Frage.
Ich kopiere das "Tabellenblatt (Beschaffungsanlage)" in eine separate Mappe (Datei), nachdem das Tabellenblatt dort angekommen ist sollte der Ereigniscode dort gelöscht werden. Das heißt das ich das Makro "code_in_klassenmodulen_löschen" mit kopieren muss um es in der Zieldatei vor dem späteren Save und Close ausführen lasse.
Würdest du mir bitte noch einmal kurz erläutern wie das geht?
Gruß
Benny
Anzeige
AW: Tabellenblatt kopieren ohne Makro
14.04.2005 14:42:05
Rolf
Hallo Benny,
in welcher Mappe der Löschcode steht, ist unmassgeblich.
Entscheidend ist, dass die Mappe mit dem zu löschenden Code aktiviert ist.
fG
Rolf
AW: Tabellenblatt kopieren ohne Makro
14.04.2005 14:57:39
Benny
Hallo Rolf,
sorry aber wahrscheinlich habe ich mich falsch ausgedrückt.
Wie kopiere ich das Makro "code_in_klassenmodulen_löschen" von der eigentlichen Datei in die Zielatei (die ja erst noch durch das Makro erstellt wird), um es dort nachdem die Zieldatei erstellt wurde, ausführen zu lassen.
Des weiteren wie kann ich ein Makro über einen Makrobefehl ausführen lassen?
Gruß
Benny
Anzeige
Makro kopieren
14.04.2005 15:34:26
Rolf
Hallo Benny,
so einfach kopieren iss nich.
Du musst das Modul exportieren und in die Zieldatei importieren.
Hier mal ein Beispiel zum grundsätzlichen Vorgehen.
Ein Makro startest du mir dem Run-Befehl (s.ganz unten).
fG
Rolf
'Modul exportieren

Sub modul_exportieren()
Dim mdl As Object
Dim wbName As String, mdlName As String
wbName = ThisWorkbook.Path & "\Quellmappe.xls"
mdlName = "Test_modul"
Workbooks.Open wbName
Set mdl = ActiveWorkbook.VBProject.VBComponents(mdlName)
mdl.Export ThisWorkbook.Path & "\" & mdlName & ".bas"
ActiveWorkbook.Close savechanges:=false
End Sub

'Modul importieren

Sub ImportModule()
Dim mdl As Object
Dim wbName As String, mdlName As String
wbName = ThisWorkbook.Path & "\Zielmappe.xls"
mdlName = "Test_modul"
Workbooks.Open wbName
ActiveWorkbook.VBProject.VBComponents.Import _
ThisWorkbook.Path & "\" & mdlName & ".bas"
ActiveWorkbook.Close savechanges:=True
End Sub


Sub makro_starten()
Application.Run "code_in_klassenmodulen_löschen"
End Sub

Anzeige
AW: Makro kopieren
14.04.2005 15:37:28
Benny
Hallo Rolf,
noch einmal vielen Dank für deine Mühe. Leider ist es mir heute und morgen nicht mehr möglich es auszuprobieren. Ich werde frühestens am Montag Mittag dazu kommen. Selbstverständlich halte ich dich auf dem laufenden.
Schönes Wochenende
Gruß
Benny
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Tabellenblatt kopieren ohne Makro


Schritt-für-Schritt-Anleitung

Um ein Excel-Tabellenblatt zu kopieren, ohne dass Programmierzeilen oder Verknüpfungen mit übernommen werden, kannst Du folgende Schritte ausführen:

  1. Öffne die Quellmappe, die das Tabellenblatt enthält, das Du kopieren möchtest.
  2. Klicke mit der rechten Maustaste auf das Tabellenblatt, das Du kopieren möchtest.
  3. Wähle "Verschieben oder Kopieren..." aus dem Kontextmenü.
  4. Wähle im Dropdown-Menü die Zielmappe aus (oder erstelle eine neue Mappe).
  5. Aktiviere die Checkbox "Eine Kopie erstellen" und klicke auf OK.
  6. Um die Programmierzeilen zu entfernen, kannst Du das Makro "code_in_klassenmodulen_löschen" verwenden, das Du vorher in ein Modul eingefügt hast.

Für die Ausführung des Makros stelle sicher, dass Du die Zielmappe aktivierst, bevor Du das Makro startest.


Häufige Fehler und Lösungen

  • Fehler: Das Tabellenblatt wird mit Verknüpfungen kopiert.

    • Lösung: Stelle sicher, dass Du das Blatt direkt in eine neue Mappe kopierst und nach dem Kopieren das Makro zur Löschung von Code ausführst.
  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Überprüfe, ob das Makro im richtigen Modul und in der aktiven Arbeitsmappe enthalten ist. Achte darauf, dass Du die richtige Mappe aktiviert hast.

Alternative Methoden

Wenn Du Excel mehrere Tabellenblätter in ein Tabellenblatt kopieren möchtest, ohne Makros zu verwenden, kannst Du die Inhalte manuell kopieren:

  1. Markiere die gewünschten Zellen in der Quellmappe.
  2. Kopiere die Zellen mit Strg + C.
  3. Wechsel zur Zielmappe und wähle die Zelle aus, in die Du die Daten einfügen möchtest.
  4. Füge die Daten mit Strg + V ein.

Achte darauf, dass dabei Formatierungen und Formeln möglicherweise verloren gehen.


Praktische Beispiele

Um zu demonstrieren, wie Du das Kopieren ohne Verknüpfung und Makros durchführen kannst, hier ein Beispiel:

  • Beispiel: Du möchtest das Tabellenblatt "Verkäufe" aus der Mappe "Daten.xlsx" nach "Bericht.xlsx" kopieren.
    1. Öffne die Datei "Daten.xlsx".
    2. Klicke mit der rechten Maustaste auf das Blatt "Verkäufe" und wähle "Verschieben oder Kopieren...".
    3. Wähle "Bericht.xlsx" aus und aktiviere "Eine Kopie erstellen".
    4. Das Makro "code_in_klassenmodulen_löschen" wird genutzt, um den Code zu entfernen.

Tipps für Profis

  • Nutze Vorlagen: Erstelle eine Vorlage für häufig genutzte Tabellenblätter, um sie schnell und ohne Code zu kopieren.
  • Automatisiere den Prozess: Wenn Du regelmäßig Tabellenblätter kopierst, erwäge, ein komplettes Makro zu erstellen, das den gesamten Prozess automatisiert.
  • Verwalte Deine Module: Halte Deine Module gut organisiert, um das Kopieren und Löschen von Code zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich die Programmierzeilen in einer neuen Datei löschen? Um die Programmierzeilen zu löschen, kannst Du das Makro "code_in_klassenmodulen_löschen" verwenden, nachdem Du die Zieldatei aktiviert hast.

2. Kann ich mehrere Tabellenblätter in ein neues Blatt kopieren? Ja, Du kannst mehrere Tabellenblätter in ein neues Blatt kopieren, indem Du sie nacheinander in die Zielmappe verschiebst oder kopierst.

3. Funktioniert das Kopieren ohne Verknüpfungen in allen Excel-Versionen? Ja, das Kopieren ohne Verknüpfungen und Programmierzeilen funktioniert in den meisten modernen Excel-Versionen, solange Du die oben genannten Schritte befolgst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige