Wie man eine Funktion / Formel in einer ganzen Spalte ändert, in der ich auch leere Zellen habe

2

Ich habe eine Spalte mit einer Formel / Funktion, die andere Zellen als Parameter hat. In der Spalte habe ich jedoch zur besseren Lesbarkeit alle paar Zeilen eine Zwischensumme und Leerzeichen. Jetzt habe ich beschlossen, die Formel / Funktion zu ändern, aber ich kann wegen der Zwischensummen / leeren Zellen nicht für die gesamte Spalte kopieren + einfügen, und ich kann nicht ändern + ersetzen, weil es Parameter in den Funktionen gibt, die andere Zellen und damit verwenden es ist in jeder Zelle in der Spalte unterschiedlich.

Zum Beispiel, wenn die Formel ist =if(A5>24,1,"")und ich es ändern möchte=AA_userfn(A5,B5)

Irgendeine Idee, wie man es leicht ändert? Derzeit kopiere und füge ich nur wenige Zeilen gleichzeitig ein, aber das ist langweilig.

Möglicherweise ein Sub, der die gesamte Spalte durchsucht (die Spaltennummer als Eingabeparameter) und danach sucht =if(und sie dann durch =aa_userfn(Ax, By)where ersetzt Axund Bybasierend auf der Position der Zelle berechnet wird, die derzeit im Vergleich zu den vorherigen Werten in dieser Zelle geändert wurde .

Alle Ideen werden begrüßt

Zvi
quelle

Antworten:

1

Ändern Sie, um Ihren Bedürfnissen zu entsprechen

Public Sub UpdateFormula()
Dim r As Long, c As Long, n As Long, x As Long, a As Long
Dim lRow As Long
Dim rngSlct As Range
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual

'Select the column you want to update. This can be multiple columns
Set rngSlct = Selection
With rngSlct
    x = .Columns.count
'Loop through all the selected columns
For n = 1 To x
    a = rngSlct(1, n).Column
lRow = Cells.Find(What:="*", After:=[A1], SearchDirection:=xlPrevious).row
c = a

With ActiveCell
    For r = ActiveCell.row To lRow
        If Left(Cells(r, c).Formula= "=If(" Then
            Cells(r, c).Formula = 'Type your new formula here
        End If
    Next r
End With

Next n
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
End Sub
Matt
quelle