Variablen, Objekt, Prozedur zu groß, Verweisfehler
21.12.2015 00:59:55
Thomas
ich möchte ein Makro schreiben welches mir aus einer Liste Werte in Variablen schreibt und dann im weiteren Verlauf diese Variablen in ein Word Dokument überträgt.
Es läuft soweit wunderbar mit
TmpVar(1) = Sheets("xxx").Range("d5").Value
Set wdApp = CreateObject("Word.application")
Set wdDoc = wdApp.Documents.Open(Filename:=Application.ActiveWorkbook.Path & "\" & TmpVari1 & ".docx")
With wdDoc.Content.Find
.Execute findtext:="TmpVar(1)", replacewith:=TmpVar(1), Replace:=wdReplaceAll
End with
Problem
Jetzt habe ich knapp 2500 Variablen wie oben generiert und die Fehlermeldung
Prozedur zu groß bekommen.
Gut also die Variablenschreibung in 5 kleinere Prozeduren (Sub) geteilt und das klappt auch wunderbar. Der erste Block ruft den zweiten auf etc..
Der letzte ruft die Übertragung auf.
Leider bekomme ich bei dem Übertragen ins Word Dokument wieder den Fehler
Prozedur zu groß.
Jetzt habe ich die Übertragung auch zerlegt in 5 Prozeduren.
Aber
nur der erste Übertrag klappt.
Wenn dieser die zweite Übertragungsprozedur aufruft kommt ein Verweisfehler.
Meine Frage wäre nun. Wie übergebe ich sauber das Word Ojekt an die Übertragungsprozedur beim zweiten Mal. Er scheint die erstellten Variablen zu 'Vergessen'.
Oder wie kann ich die Funktion
With wdDoc.Content.Find
.Execute findtext:="TmpVar(1)", replacewith:=TmpVar(1), Replace:=wdReplaceAll
End with
in eine Schleife packen die halt 25ßß durchlaufen wird?
Es wäre nett wenn sich jemand die Zeit nimmt um mir meine Denkfehler zu zeigen und eine Lösung auf zu zeigen.
Vielen Dank Thomas
Anzeige