Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blätter ohne Code kopieren

Blätter ohne Code kopieren
11.11.2003 14:29:46
Markus Klement
Hallo,

ich möchte aus einer Datei 2-3 Tabellenblätter in eine neue Arbeitsmappe kopieren. Das ist ja kein Thema, aber wie bekomme ich die Codes aus den Tabellenblättern, so dass in der neuen Mappe keine Makros enthalten sind??

Könnt Ihr mir helfen?

Danke
Markus

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blätter ohne Code kopieren
11.11.2003 14:42:52
Russi
Hallo Markus!

Ich vermute, dass Du auf das manuelle Löschen der Module verzichten möchtest. Deshalb bleibt nur der Weg über VBA:

Public

Sub Russis_Blattkopie()
sheets("Tabelle1").Activate
Cells.Select
Selection.Copy
Workbooks.Add
Selection.Paste
End Sub


Viele Grüße
Russi
Nein so klappt es nicht
11.11.2003 14:49:46
Markus Klement
Hallo Russi,

erst einmal danke, aber bei der Anweisung Paste kommt eine Fehlermeldung und ausserdem wollte ich die Blätter so kopieren wie sie sind (nicht den Inhalt) und dann in der neuen Datei den Code rauslöschen. Die Inhalte zu kopieren ist ja nicht das Thema.

Gruß
Markus
Anzeige
AW: Nein so klappt es nicht
11.11.2003 15:04:08
Russi
Hallo Markus!

Ich hab dazu was im Netz gefunden:


Sub modul_weg()
'löscht ohne Rückfrage Modul1
On Error Resume Next
With ActiveWorkbook.VBProject
.VBComponents.Remove .VBComponents("Modul1")
End With
End 

Sub
(http://people.freenet.de/a.seeberger/vbaseiten/031modulweg.html)

Nein so klappt es nicht
11.11.2003 15:18:04
Markus Klement
Danke Russi,

aber das ist es auch nicht, denn dieser Code löscht ja nur die Module raus und wie ich geschrieben habe, geht es mir um den Code in den Blättern.

Gruß
Markus
Anzeige
AW: Nein so klappt es nicht
11.11.2003 15:07:08
Andi_H
Hi Markus,

dieser Code löscht alle VB Komponenten raus.


Sub AlleVBEKomponentenEntfernen()
Dim VBkomp As VBComponent
On Error Resume Next
For Each VBkomp In ThisWorkbook.VBProject.VBComponents
ThisWorkbook.VBProject.VBComponents.Remove VBkomp
Next VBkomp
End Sub


Gruß
Andi
AW: Nein so klappt es nicht
11.11.2003 15:17:03
Markus Klement
Klappt auch nicht, bekomme die Fehlermeldung "Benutzerdefinierter Typ nicht definiert".

Woran liegt das??
AW: Nein so klappt es nicht
11.11.2003 15:39:08
Andi_H
Hi Markus,

lösch mal die Variablendeklaration raus, dann gehts.


Sub AlleVBEKomponentenEntfernen()
On Error Resume Next
For Each VBkomp In ThisWorkbook.VBProject.VBComponents
ThisWorkbook.VBProject.VBComponents.Remove VBkomp
Next VBkomp
End Sub

gruß
Andi
Anzeige
Klappt immer noch nicht
11.11.2003 15:42:17
Markus Klement
Hallo Andi,

jetzt kommt zwar keine Fehlermeldung, aber das Sub im Code des Tabellenblattes ist nach dem kopieren noch enthalten...

Gruß
Markus
AW: Klappt immer noch nicht
11.11.2003 16:39:23
Andi_H
Sorry Markus, bin ich auch überfragt.
Schau mal in den Excel-Faqs - unter Excel/VBA VBE auswählen und dann Prozedur, evtl findest du hie rwas brauchbares.

Gruß
Andi
Kann mir keiner helfen??? (o.T.)
11.11.2003 15:30:32
Markus Klement
Nein, das ist es nicht
11.11.2003 15:51:48
Markus Klement
Danke Carsten,

aber das ist eben nicht was ich suche. Dabei wird die "Oberfläche" des Blattes kopiert und ich muß es für mehrere Blätter hintereinander machen und die Blattbezeichnungen neu definieren.

Wenn ich aber die Tabellenblätter komplett kopiere und dann "nur" den Code rauslösche, sollte es weniger aufwendig sein und das Makro schneller laufen.

Gruß
Markus
????
12.11.2003 07:23:42
Markus Klement
Hallo Nepumuk,

wenn ich auf den Link klicken öffnet sich nur ein leere Excel Seite???? Wie kannmir das helfen?

Gruß
Markus
Anzeige
AW: ????
12.11.2003 07:46:15
Russi
Moin moin!

Wenn ich mich auch nochmal einmischen darf: In dieser Mappe ist ein Modul enthalten (drücke Alt + F11!)

Oder kopiere:

Public

Sub kopieren_ohne_Makro()
Dim myWorksheet As Worksheet
Sheets(Array("Tabelle1", "Tabelle2")).Copy
With myWorkbook
For Each myWorksheet In .Worksheets
With .VBProject.VBComponents(myWorksheet.Name).CodeModule
.DeleteLines 1, .CountOfLines
End With
Next
End With
End Sub


Viele Grüße
Russi
AW: ????
12.11.2003 15:49:32
Nepumuk
Hallo Markus,
im VBA-Editor findest du ein Modul, wie Russi richtig bemerkt hat, sowie eine Ereignisroutine im Klassenmodul "DieseArbeitsmappe" und ein Klassenmodul "clsApplication". Diese gehören zusammen. Wenn du willst, kann ich dir erklären wie es funktioniert.
Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige