Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1252to1256
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Mit Makro Formeln ergänzen

Mit Makro Formeln ergänzen
Johannes
Hallo,
ich habe eine Arbeitsmappe mit sehr vielen Verknüpfungen auf ein Blatt, das die Datenquelle enthält.
Nun würde ich gerne jede Formel wie folgt ergänzen: wennfehler([bisherige Formel];0)
[bisherige Formel] ist die Formel, die bereits in der Zelle steht. Durch die Ergänzung soll erreicht werden, dass die Zelle leer bleibt, wenn die jeweilige Zelle keinen Input erhält.
Mit "Suchen/Ersetzen" bekomme ich ja nur den ersten Teil hin und kann "wennfehler(" hinzufügen. Aber das ";0)" kriege ich ja nicht dazu. Gibt es hier eine Makro-Möglichkeit?
Vielen Dank für Vorschläge!!

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Mit Makro Formeln ergänzen
12.03.2012 11:23:49
Tino
Hallo,
kannst diesen Code mal testen, Tabelle und den Bereich für die Formel noch anpassen.
Sub Formel_Erweitern()
Dim rngFormelBereich As Range, rngTmp As Range, ArrayFormel()
Dim n&, nn&, iCalc%

With Tabelle1 'Tabelle anapssen 
    On Error Resume Next
    'Bereich wo die Formeln stehen, evtl. anpassen 
    Set rngFormelBereich = .Columns(1).SpecialCells(xlCellTypeFormulas, 23)
    On Error GoTo 0
End With

If Not rngFormelBereich Is Nothing Then

    With Application
        iCalc = .Calculation
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
        
        For Each rngTmp In rngFormelBereich.Areas
            With rngTmp
                ArrayFormel = .Resize(, .Columns.Count + 1).FormulaR1C1
                Redim Preserve ArrayFormel(1 To Ubound(ArrayFormel), 1 To Ubound(ArrayFormel, 2) - 1)
                For n = 1 To Ubound(ArrayFormel)
                    For nn = 1 To Ubound(ArrayFormel, 2)
                        ArrayFormel(n, nn) = "=IFERROR(" & Replace(ArrayFormel(n, nn), "=", "") & ",0)"
                    Next nn
                Next n
                .FormulaR1C1 = ArrayFormel
            End With
        Next rngTmp
        
        .Calculation = iCalc
        .EnableEvents = True
        .ScreenUpdating = True
    End With

Else
    MsgBox "keine Formel in diesem Bereich!"
End If
End Sub
Gruß Tino
Anzeige
AW: Mit Makro Formeln ergänzen
12.03.2012 12:18:51
Johannes
Hallo,
vielen herzlichen Dank für den Code. In einem Test hat er wunderbar funktioniert. Komischerweise läuft es in meiner Datei nicht, es kommt immer die Fehlermeldung "keine Formeln in dem Bereich". Vielleicht ist die Struktur meiner Arbeitsmappe zu komplex oder so.
Trotzdem ganz herzlichen Dank, es ist grundsätzlich ein super Code!
AW: Mit Makro Formeln ergänzen
12.03.2012 12:26:29
Tino
Hallo,
denke eher Du hast die Tabelle oder/und den Bereich nicht richtig angepasst.
Beim Tabellenname verwende ich den Codenamen,
den findest Du im VBA im Projekt-Explorer, es ist der der nicht in Klammern steht.
Gruß Tino
AW: Mit Makro Formeln ergänzen
12.03.2012 15:16:46
Johannes
JAAAAA, es funktioniert!!! Super vielen Dank!!!
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige