Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
248to252
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
248to252
248to252
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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


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.

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

Anzeige
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

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

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige