Formel in Makro umwandeln

19/03/2010 - 21:27 von Berger | Report spam
Hallo!!
Ich möchte die Formel

=WENN(A2="";0;MAX(A2:A51)-A2+1)

in einem Makro berechnen lassen. Kann mir jemand diese Formel auflösen.
In Reihe "A" können von 2 bis 50 Werte vorhanden sein.
Für eine Lösung wàre ich dankbar
Johann
 

Lesen sie die antworten

#1 Peter Schleif
19/03/2010 - 22:17 | Warnen spam
Berger schrieb am 19.Mrz.2010 21:27 Uhr:

Ich möchte die Formel
=WENN(A2="";0;MAX(A2:A51)-A2+1)
in einem Makro berechnen lassen. Kann mir jemand diese Formel auflösen.



Eine starre 1:1-Übersetzung sàhe etwa so aus:

Function MaxVBA(r As Range)
MaxVBA = IIf([A2]="", 0, WorksheetFunction.Max([A2:A50])-[A2]+1)
End Function

Hat den aber den Nachteil, dass die Funktion sich bei Verschiebung oder
Vergrößerung des Bereichs [A2:A50] nicht automatisch anpasst.


Die folgende Funktion ist etwas flexibler:

Function MaxVBA(r As Range)
MaxVBA = IIf(r(1) = "", 0, WorksheetFunction.Max(r) - r(1) + 1)
End Function


In beiden Fàllen lautet der Aufruf:

=MaxVBA(A2:A50)

Peter

Ähnliche fragen