das meiste ist korrekt!
Beim Programmieren ist man meist etwas erklärfaul. Schlecht für Laien. Dafür kostenlos.
Der Code gehört in das Blatt ,wo die Fehler auftreten. Wenns mehrere sind, hätte ich das anders programmiert. Damit man nicht in jedes Blatt den Code reinkopieren muß.
Der Code wird gestartet wenn im Bereich "E5:E7" eine Zelländerung passiert. Diesen Bereich sollst du auch an deine Datei anpassen. Das Makro Worksheet_Change ist ein sogenanntes Eventmakro. Das muß man nicht von Hand auslösen. Deshalb schränkt man den Aktionsbereich soweit wie nötig ein. Evtl könnte man den Eingabebereich oder nur eine Spalte davon. Dann wird bei jeder Änderung das Blatt auf Fehler geprüft. Sofern in diesem Blatt der Fehler auftritt und nicht in irgend einem Blatt wo keine Eingaben stattfinden.
Das mit dem Pfad bzw Ersetzungstext hast du richtig verstanden. Für die anderen Funktionen fehlt dir der Code. Deshalb würde das Entfernen des Hochkomma zum Fehler führen, weil die Makros dafür nicht dabei sind. Zum Ersetzen des Formeltextes nutze ich eigentlich die Wechseln() = Sustitute() funktion des Arbeitsblattes. Weil VBA englisch spricht habe ich nicht nur #BEZUG! sondern auch #Ref! als zu ersetzenden Text eingebaut.
Grundsätzlich schreibt man VBA Code maßgeschneidert auf die Datei. Das hier ist, ähnlich einer Ferndiagnose, eher ins Blaue geschossen. Kann funktionieren muß aber nicht.
Wenn der Code nicht startet, dann muß man evtl ein Anderes Eventmakro nutzen. z.b. das Calculate(). Das läuft immer nach einer Blattberechnung.
Da deine VBA Kentnisse eher dürftig zu sein scheinen, sehe ich hier einige Hürden für dich. Fürs Testen solltest du dich informieren wie man Haltepunkte im Code setzt und wie man den Code schrittweise durchgeht. Mit F8-Taste
Durch den Haltepunkt stellst du fest ob der Code überhaupt abgearbeitet wird.
|