ExcelVBA: Zur Laufzeit VBA-Code finden und ersetze

Tach’chen.

Ich habe vor zur Laufzeit VBA-Code (Excel 2007/2010) im laufenden Modul zu finden und zu ersetzen. Zweck des ganzen ist das Abspeichern von User-Inputs für zukünftige Aufrufe des Makros. Beispielweise sollte die Codestelle zwischen „**Anfang**“ und „**Ende**“ identifiziert werden und durch einen beliebigen anderen String ersetzt werden. Der zu erstzende Code geht unter Umständen über mehrere Zeilen.

Wer hat einen Tipp/Code-Schnippsel?

Vielen Dank im Voraus
TTR

Nachfrage und Weihnachtsgruß an Alle

Ich habe vor zur Laufzeit VBA-Code (Excel 2007/2010) im
laufenden Modul zu finden und zu ersetzen. Zweck des ganzen
ist das Abspeichern von User-Inputs für zukünftige Aufrufe des
Makros. Beispielweise sollte die Codestelle zwischen
„**Anfang**“ und „**Ende**“ identifiziert werden und durch
einen beliebigen anderen String ersetzt werden. Der zu
erstzende Code geht unter Umständen über mehrere Zeilen.

Hallo TTR,

ein laufendes Modul gibt es nicht. In all den Modulen stehen außer den Deklarationen oberhalb der Prozeduren, Prozeduren wie Sub, Function und Proberty.
Diese kann man starten/aufrufen und diese laufen dann ab.

Ich gehe davon aus du meinst eine Sub. Okay, diese startest du, was soll sie dann genau tun, in einer anderen Prozedur was ändern oder in irgendeinem Modul eine Prozedur einfügen oder löschen.
Oder soll diese Prozedur zur Laufzeit sich selbst, also ihren eigen Code abändern?

Bei letzterem weiß ich grad nicht ob das geht und welche Schwierigkeiten da ggfs. entstehen können. Ich hab bislang nur mit Prozeduren zur Laufzeit andere Prozeduren abgeändert/erstellt/gelöscht.
Da aber Vba ein Interpreter-Programm ist sollte auch das Sichselbständern „gehen“.

Wie auch immer, Zugriff von Vba zur Laufzeit auf die Module und deren Inhalten hast du mit VbComponents.
Also recherchiere mal im Internet nach
laufzeit vbcomponents
und du findest Code der auf die Module zur Laufzeit zugreift.
Dann hast du schon eine Basis um dir was zu basteln.

Wenn du dann Code hast mit dem du auf das Modul was du meinst zugreifen kannst, dann baue eine For-Schleife von 1 bis .countoflines
Prüfe jede Codezeile mit Instr ab ob da Anfang bzw. Ende drinsteht
und ändere halt das dazwischen.

Da ich da mal alle paar Jahre was in modulen ändere fiel mir grad nur
countoflines ein. Irgendwie mit deletelines, insertlines, kannst du Codezeilen löschen/einfügen.

Wenn du funktionierenden Code hinkriegst so kannst du ihn ja gerne hier zeigen, Mitlesende und das Archiv freuen sich darüber.
Wenn er nicht klappt, kein Akt, zeige ihn auch.

Jetzt zum Weihnachtsfest wünsche ich allen die das hier lesen und auch denjenigen die das nicht lesen von Herzen frohe Weihnachten.

Daß ich meine Weihnachtswünsche hier anbringen muß und nicht eine Beitragsfolge damit eröffne wo sich wer will beteiligen kann hat Gründe, keine schönen :frowning:(
Details ggfs. per Mail erfragen, nicht hier, danke.

Gruß
Reinhard