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

VBA-Code in externer Datei ändern

VBA-Code in externer Datei ändern
06.02.2018 16:16:20
Edwin
Hallo,
ich muss in einer externen Datei 3 Zeilen im VBA-Code einfügen.
Der Code befindet sich in Tabelle1
Private Sub Worksheet_Activate()
AlterVBA-Code1
AlterVBA-Code2
AlterVBA-Code3
NeuerVBA-Code1
NeuerVBA-Code2
NeuerVBA-Code3
End Sub
Kann mir jemand sagen, wie der VBA aussehen muss, damit NeuerVBA-Code1 bis NeuerVBA-Code3 hinzugefügt wird?
Vielen Dank!
Gruß
Edwin

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA-Code in externer Datei ändern
06.02.2018 16:46:22
Hajo_Zi
Hallo Edwin,
mein Excel sagt das ist kein VBA Code.
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: VBA-Code in externer Datei ändern
06.02.2018 16:53:01
Edwin
Hallo Hajo,
es handelt sich um keinen Fehler, sondern lediglich um einen VBA-Code, der eingefügt werden soll.
Private Sub Worksheet_Activate()
MsgBox "AlterVBA-Code1"
MsgBox "AlterVBA-Code2"
MsgBox "AlterVBA-Code3"
MsgBox "NeuerVBA-Code1"
MsgBox "NeuerVBA-Code2"
MsgBox "NeuerVBA-Code3"
End Sub

AW: VBA-Code in externer Datei ändern
06.02.2018 17:00:18
Hajo_Zi
Das ist VBA Code, der löst bei mir keinen Fehler aus.
Ich bin dann raus, Du möchtest nicht den relevanten Code posten.
Gruß Hajo
AW: VBA-Code in externer Datei ändern
06.02.2018 18:41:18
Edwin
Hallo Chris,
ich habe aus deinem Link Fragmente des VBA übernommen.
Damit ich den VBA testen konnte, habe ich ein Sheet "Test" hinzugefügt.
Der VBA läuft.
Sub VBAeinfügen()
Const WS      As String = "Test"
Dim LineNr    As Integer
With ThisWorkbook.VBProject.VBComponents(Worksheets(WS).CodeName).CodeModule
LineNr = .createeventproc("activate", "Worksheet")
.insertlines LineNr + 1, "msgbox ""hallo1"""
.insertlines LineNr + 2, "msgbox ""hallo2"""
End With
End Sub

Zwei Dinge müssen noch geändert werden und dazu fehlt mir leider das Wissen.
1. Private Sub Worksheet_Activate() muss nicht erstellt werden, es ist schon da.
Wie muss ich createeventproc abändern, damit in das vorhandene Worksheet_Activate eingefügt wird?
2. ThisWorkbook
Wie muss ich den VBA abändern, damit ich in die externe Datei den VBA einfügen kann?
Herzlichen Dank!
Viele Grüße
Edwin
Anzeige
AW: VBA-Code in externer Datei ändern
06.02.2018 19:08:48
ChrisL
Hi
ungetestet... "Create" braucht es nicht, nur die Zeilennummer
Sub VBAeinfügen()
Dim WB As Workbook
Const WS      As String = "Test"
Set WB = Workbooks("XY.xlsm")
With WB.VBProject.VBComponents(WB.Worksheets(WS).CodeName).CodeModule
.insertlines 5, "msgbox ""hallo1"""
.insertlines 6, "msgbox ""hallo2"""
End With
End Sub
Die andere Mappe muss geöffnet sein.
cu
Chris
AW: VBA-Code in externer Datei ändern
06.02.2018 20:40:42
Edwin
Hallo Chris,
es kommt zum Laufzeitfehler 1004.
Die Datei XY ist geöffnet, daran kann es nicht liegen.
Hier die Beispieldateien.
https://www.herber.de/bbs/user/119602.xlsm
https://www.herber.de/bbs/user/119603.xlsm
Ich denke, es fehlt das Ziel Worksheet_Activate.
Excel kann nicht wissen, wo der VBA hin soll.
VG
Edwin
Anzeige
AW: VBA-Code in externer Datei ändern
07.02.2018 08:52:49
ChrisL
Hi Edwin
Du hast geschrieben, dass das WS_Activate Ereignis in Mappe2 schon vorhanden ist und verändert werden muss. Ein solches fehlt in der Beispieldatei und darum der Fehler.
cu
Chris
AW: VBA-Code in externer Datei ändern
07.02.2018 09:49:09
Edwin
Hallo Chris,
uppsi.
Aber selbst wenn ich WS_Activate einfüge, dann wird der Code wie folgt eingetragen.
Private Sub Worksheet_Activate()
End Sub
MsgBox "hallo1"
MsgBox "hallo2"
Erschwerend kommt dann noch hinzu, dass ich mein VBAProject geschützt habe. Wenn wir das vorherige Problem gelöst haben, dann können wir uns noch über den VBAProject-Schutz hermachen.
VG
Edwin
Anzeige
AW: VBA-Code in externer Datei ändern
07.02.2018 13:06:42
ChrisL
Hi Edwin
Zeilennummer:
.insertlines 5, "msgbox ""hallo1"""
VBA Passwortschutz kannst du m.W. nur mittels SendKeys aufheben.
https://www.excel-inside.de/vba-loesungen/sonstiges/621-vba-passwort-ueber-ein-vba-makro-aufheben
cu
Chris
AW: VBA-Code in externer Datei ändern
07.02.2018 16:02:04
Edwin
Hallo Chris,
habe verstanden und das einfügen an der richtigen Stelle hat auch geklappt.
VBA Passwortschutz aufheben klappt auch mit der Beispieldatei von Excel-inside.de
Bei mir gerade nicht. Es kommt die Meldung, dass die Makros deaktiviert seien.
Die Meldung kann ich nicht nachvollziehen, weil ich an andere Stelle auch Application.Run ausführe und das einwandfrei funktioniert.
Ich versuche es einfach an einem anderen Tag nochmals. Dann geht es meistens ;-)
Vielen Dank für Deine Hilfe!
Viele Grüße
Edwin
Anzeige

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige