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

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

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
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
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
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
Anzeige
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
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

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige