VBA Runde Funktion

8

In einem meiner Programme muss ich den Durchschnitt für eine Reihe von Zahlen berechnen. Das Problem ist, dass manchmal die Antwort zu einer großen Dezimalzahl kommt, und ich muss versuchen, es bis zu zwei Dezimalstellen maximal zu bekommen.

Ich habe etwas namens Excel.WorksheetFunction.Round(...) gesehen, aber soweit ich weiß, funktioniert es nur mit einer bestimmten Nummer oder einer bestimmten Zelle. Ich habe mich gefragt, ob jemand wusste, wie man das implementiert, so dass es alle Dezimalstellen in einer Reihe von Zellen rundet.

%Vor%

Der obige Code versucht, die Rundenfunktion für eine Reihe von Zellen zu verwenden. Die g_first_Function_Col ist eine Spalte (wie die Spalte "H") und g_totalRow ist die letzte Zeile, die irgendwelche Werte enthält. Wenn ich versuche, dieses Bit Code auszuführen, sagt es mir "=" erwartet. Im Wesentlichen versuche ich eine ganze Spalte auszuwählen und sie zu runden.

Danke,

Jesse Smothermon

    
Jesse Smothermon 18.03.2011, 21:31
quelle

1 Antwort

8

Es gibt zwei Möglichkeiten, wie Sie das tun können.

- Wählen Sie Ihren Bereich und ändern Sie das Zahlenformat:

%Vor%

- Blättern Sie durch alle Zellen in Ihrem Bereich und wenden Sie die Rundungsfunktion auf jeden von ihnen an. In VBA können Sie die Funktion "Rundung" nicht gleichzeitig für einen ganzen Bereich verwenden.

%Vor%

(Pseudocode oben; Sie benötigen eine bessere For..Next Schleife, um alle Zellen in Ihrem Bereich zu durchlaufen.)

    
Stewbob 18.03.2011, 21:38
quelle

Tags und Links