2016-04-19 13 views
0

Ich versuche, Durchschnitt zu berechnen, aber ich bekomme einen Laufzeitfehler. Hier ist mein Code ..Wie schreibe ich eine durchschnittliche Formel in Excel VBA

lastrowcell = Range("B1", Range("B1").End(xlDown)).Rows.Count 
Range("F1").Value = "High+Low/2" 
For n = 2 To lastrowcell 
    Range(Cells(n, 6)).Formula = "=average(" & Range(Cells(n, 2), Cells(n, 3)).Address(False, False) & ")" 
Next 

Kann jemand zeigen, was ich falsch gemacht habe.

Vielen Dank im Voraus ...

+0

Ich denke, Sie brauchen ein Next n nicht nur ein Next. –

+0

Nein, es funktioniert nicht ... Ich bekomme Laufzeitfehler bei 'Range (Zellen (n, 6)). Formel =" = Durchschnitt ("& Bereich (Zellen (n, 2), Zellen (n, 3)) .Address (False, False) & ")" ' –

Antwort

3

Sie nicht zur Schleife benötigen, ist Excel intelligent genug, um die ganze Sache auf einmal zu füllen:

lastrowcell = Range("B1", Range("B1").End(xlDown)).Rows.Count 
Range("F1").Value = "High+Low/2" 
Range("F6:F" & LastRow).Formula = "=AVERAGE(B6:C6)" 

Die 6 wird in jeder Zeile erhöht werden obwohl

Wenn Sie die letzte Zeile wollen, ist es immer besser, kommt von unten nach oben, wenn Sie speziell für den ersten Rohling suchen:

lastrowcell = Range("B" & Rows.Count).end(xlup).row 
+0

Hey Danke Seine Arbeit .... –

+0

Froh kann ich helfen :) –

1

Range(Cells(n, 6))

ist nicht die korrekte Syntax für Range Eigenschaft. Wenn es nur einen Parameter gibt, sollte es eine Zeichenfolge sein. Stattdessen können Sie verwenden:

Cells(n, 6)

oder

Range("F" & n).

Verwandte Themen