Formel in Variable speichern

  • Excel

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Kaiatan.

    Formel in Variable speichern

    Hi,



    ich bin relativ neu in der VBA programmierung, und moechte die Formel
    einer Zell (nicht den Wert) in eine Variable speicher. Bisher
    schaff ich es nur, dass der Wert gespeichert wird, bzw. falls die
    Rueckgabe einer Fehlermeldung ist, wird ein Fehlercode in die Variable
    gespeichert. Hat jemand eine Idee wie das machbar ist?



    Hintergrund: Ich habe viele Berechnungen in einem Tabellenblatt
    und viele geben einen Error z.B. DIV/0 zurueck. Um dieses
    auszublenden, moechte ich in jede Zelle die ISERROR() function
    verwenden. Um das nicht in allen Zellen manuell einfuegen zu
    muessen, moechte ich ein Makro schreiben dass mir die Formel in eine
    Varibale speichert, und ich so pro Zelle die ISERROR() function
    einfuegen kann.



    Leider habe ich es bisher nicht geschafft die Formel einer Zelle in eine Variabel speichern zu koennen.



    Vielleicht weis jemand Rat?! Vielen Dank schonmal im Voraus,



    Gruss Kai
    Vielen Dank. Das Problem das ich habe, ist dass ich immer eine Fehlermeldung in der 14. Zeile habe:


    Quellcode

    1. Public Sub test()
    2. Dim stra As String
    3. Dim strnew As String
    4. Dim form As String
    5. Dim form2 As String
    6. Dim form3 As String
    7. form = "=IF(ISERROR("
    8. form2 = "), "", "
    9. stra = ActiveSheet.Range("A1").Formula
    10. form3 = ")"
    11. Debug.Print stra
    12. stra = Mid$(stra, 2)
    13. strnew = form + stra + form2 + stra + form3
    14. ActiveSheet.Range("A1").Formula = strnew
    15. End Sub




    Hat jemand eine Idee warum??



    Vielen Dank fuer Eure Muehe!!!
    Lieber Kaiatan

    was hast Du denn für eine Fehlermeldung in der 14. Zeile? Vielleicht hätte ich eine Idee, wenn ich das wüsste.

    Naja, jedenfalls funktioniert bei mir:

    Public Sub test()

    Dim strNewFormula As String

    strNewFormula = "=IF(ISERROR(" & Mid(ActiveSheet.Range("A1").Formula, 2) & "), """", " & Mid(ActiveSheet.Range("A1").Formula, 2) & ")"
    ActiveSheet.Range("A1").Formula = strNewFormula

    End Sub