Microsoft Excel

Herbers Excel/VBA-Archiv

vorhandene Formeln per Makro ergänzen | Herbers Excel-Forum


Betrifft: vorhandene Formeln per Makro ergänzen von: Dogbert
Geschrieben am: 09.02.2012 10:53:21

Hallo!

Ich möchte vorhandene Formeln per Makro ergänzen.

Ziel ist es, mit "WENNFEHLER" unerwünschte Fehlerzellen abzufangen. So möchte ich hinter das eine Formel einleitende "=" den Formeltext "WENNFEHLER(" ergänzen und ganz am Ende der bestehenden Formel den Formeltext ";0)".

Beispiel: Zelle A1 enthält die Formel "=A2-A3", das soll durch das Makro werden zu "=WENNFEHLER(A2-A3;0)".

Achtung: Das Makro muss auch funktionieren, wenn die vorhandene Formel mehr als ein "=" enthält. So soll z.B. aus "=WENN(A2=A3;A4;A5)" werden "=WENNFEHLER(WENN(A2=A3;A4;A5);0)".

Gibt es hierfür eine Lösung?

Danke für Eure Hilfe!

Dogbert

  

Betrifft: AW: vorhandene Formeln per Makro ergänzen von: Oberschlumpf
Geschrieben am: 09.02.2012 11:20:29

Hi Dogbert

Vllt so, als Bsp für den Bereich A1:A10:

Sub test()

    Dim rgZelle As Range

        For Each rgZelle in Range("A1:A10")
            If rgZelle.HasFormula = True Then
                rgZelle.FormulaLocal = "=WENNFEHLER(" & rgZelle.FormulaLocal & Chr(32)
            End If
        Next

End Sub
Hilfts?

Ciao
Thorsten


  

Betrifft: AW: vorhandene Formeln per Makro ergänzen von: Dogbert
Geschrieben am: 09.02.2012 11:35:23

Danke für den Hinweis, aber das liefert mir leider bei Ausführung einen "Laufzeitfehler 1004 - Anwendungs- oder objektorientierter Fehler" für die erste Zelle, die eine Formel enthält.


  

Betrifft: AW: vorhandene Formeln per Makro ergänzen von: Oberschlumpf
Geschrieben am: 09.02.2012 11:36:33

dann kommste wohl nich dran vorbei, uns ne Bsp-Datei zu zeigen - bitte im xls-Format


  

Betrifft: AW: vorhandene Formeln per Makro ergänzen von: Dogbert
Geschrieben am: 09.02.2012 11:43:06

Der gemeldete Fehler liegt offenbar daran, dass bei Deiner vorgeschlagenen Lösung das führende "=" der schon vorhandenen Formel nicht gelöscht wird.

D.h. aus der Formel
"=A2-A3" wird
"=WENNFEHLER(=A2-A3;0)" anstatt
"=WENNFEHLER(A2-A3;0)".

Kann ich das führende "=" noch irgendwie löschen? Also das erste Zeichen des vorhandenen Formeltextes.

Danke!


  

Betrifft: AW: vorhandene Formeln per Makro ergänzen von: Oberschlumpf
Geschrieben am: 09.02.2012 11:48:02

jo, geht

änder die Formel so:

rgZelle.FormulaLocal = "=WENNFEHLER(" & Right(rgZelle.FormulaLocal, Len(rgZelle.FormulaLocal) - 1) & Chr(32)
Hilfts?


  

Betrifft: AW: vorhandene Formeln per Makro ergänzen von: Dogbert
Geschrieben am: 09.02.2012 12:00:20

Funktioniert! Danke!!!


Beiträge aus den Excel-Beispielen zum Thema "vorhandene Formeln per Makro ergänzen"