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

Makro in eine Datei einschreiben lasse

Forumthread: Makro in eine Datei einschreiben lasse

Makro in eine Datei einschreiben lasse
03.05.2003 15:03:55
chrissi
Hallo

ich habe mir eine Makro zum Auslesen einer Datei geschrieben. Dazu legt das Makro eine neue Datei an. Ich möchte jetzt noch eine Abfrage einfügen, ob die Datei, d.h. die Zellen geschützt werden sollen. Da die Tabelle aber auch Gliederungen aufweist ist es unerlässlich, das in die Datei ein Makro geschrieben wird, welches auch den Schutz trotz Gliederung bzw. ungekehrt erlaubt. Das Makro dafür habe ich bereitsgeschrieben und es funktioniert auch.

Also wie kriege ich es hin, dass mir mein Auslesemakro ein Makro in die neu angelegte Datei schreibt und zwar in bei "DieseArbeitsmappe"???

Danke


Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Makro in eine Datei einschreiben lasse
03.05.2003 15:27:17
Nepumuk

Hallo Chrissi,
so:

Gruß
Nepumuk

Re: Makro in eine Datei einschreiben lasse
03.05.2003 15:42:36
Christian

Hallo

danke erstmal für die Hilfe.
Jedoch habe ich noch ein kleines Problem, wenn das Makro ausgeführt werden soll existiert die Datei bereits und ist schon beschrieben. Also muß das Makro auf das AktiveWorkbook angewendet werden. Also Bei ???????? muß noch eine solche Zuweisung hin. Ich hatte es schon mal mit AktiveWorkbook versucht, habe aber eine Fehlermeldung erhalten. Die Sache mit den Workbooks und Worksheets ist nicht so ganz meine Steckenpferd.
Vielleicht kannst Du mir ja diesbezüglich ja noch mal helfen.

Public Sub test()

???????????????????????????
With Application.VBE.ActiveVBProject.VBComponents("DieseArbeitsmappe").CodeModule
.InsertLines 3, "Private Sub Workbook_Open()"
.InsertLines 4, "Dim wb As Workbook"
.InsertLines 5, "Dim ws As Worksheet"
.InsertLines 6, "For Each ws In wb.Worksheets"
.InsertLines 7, "ws.Protect UserInterfaceOnly:=True ' für Gliederung"
.InsertLines 8, "ws.EnableAutoFilter = True ' Für AutoFilterEnd Sub"
.InsertLines 9, "Next ws"
.InsertLines 10, "End sub"
End With
End Sub

Ciao CHristian

Anzeige
Re: Makro in eine Datei einschreiben lasse
03.05.2003 15:46:22
Nepumuk

Hallo Christian,
dann einfach:
Workbooks("Name des neuen Workbooks").Activate
Gruß
Nepumuk

Re: Makro in eine Datei einschreiben lasse
03.05.2003 16:03:49
Christian

Sorry,

aber es will einfach nicht laufen. Bei dem Auslesen ist ja noch kein DateiName vergeben. Ich habe es schon an fertigen Dateien mit Namen brobiert. Aber es will einfach nicht .

Noch ne Idee

Ansonsten lege ich den Programmablauf direkt beim Anlegen der Datei an. Das wird dann ebend reichen müssen.

Anzeige
Re: Makro in eine Datei einschreiben lasse
03.05.2003 17:47:15
Nepumuk

Hallo Christian,
mit fertigen Dateien funktioniert es folgendermaßen.

Wenn du den Namen der neu angelegten Mappe noch nicht weißt, dann speichere sie unter ihrem entgültigen Namen ab, dann kannst du sie mit diesem ansprechen.
Gruß
Nepumuk

Re: Makro in eine Datei einschreiben lasse
03.05.2003 20:53:58
Christian

Dank Dir

ich werds gleich mal ausprobieren. Ist nämlich für meine Dipl.Arbeit.
Optimal währe es, wenn vorher ermittelt wird, wie das workbook des aktuellen worksheet heißt. Da es durch aus vorkommen kann, das mehrere workbooks gleichzeitig offen sind.

Schönes Weekend noch.
Christian

Anzeige
Re: Makro in eine Datei einschreiben lasse
03.05.2003 20:57:22
Nepumuk

Hallo Christian,
das ist:
ActiveWorkbook.Name
Gruß
Nepumuk

Re: So funktionierts
04.05.2003 11:09:14
Christian

Morgen Nepumuk,

Danke nochmal für die Hilfe. Folgender Code funktioniert so wie ich es mir vorstelle.

Sub test()
Dim wb

wb = ActiveWorkbook.Name

With Workbooks(CStr(wb)).VBProject.VBComponents("DieseArbeitsmappe").CodeModule
.InsertLines 3, "Private Sub Workbook_Open()"
.InsertLines 4, "Dim wb As Workbook"
.InsertLines 5, "Dim ws As Worksheet"
.InsertLines 6, "For Each ws In wb.Worksheets"
.InsertLines 7, "ws.Protect UserInterfaceOnly:=True ' für Gliederung"
.InsertLines 8, "ws.EnableAutoFilter = True ' Für AutoFilterEnd Sub"
.InsertLines 9, "Next ws"
.InsertLines 10, "End sub"
End With

End Sub

Schönen Sonntag noch.


Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige