Hi,
ich hab ein prob mit VBA. Habe ein Makro aufgezeichnet, das mir einen Mittelwert und einen Quotienten berechnet. Das aufgezeichnete Makro sieht so aus.
Sub MW_berechnen()
'
' MW_berechnen Makro
'
'
Range("J2").Select
ActiveCell.FormulaR1C1 = "=AVERAGE(R2C6:R13C6)"
Range("J2").Select
Selection.AutoFill Destination:=Range("J2:J13"), Type:=xlFillDefault
Range("J2:J13").Select
Range("K2").Select
ActiveCell.FormulaR1C1 = "=RC[-5]/RC[-1]"
Range("K2").Select
Selection.AutoFill Destination:=Range("K2:K13"), Type:=xlFillDefault
Range("K2:K13").Select
End Sub
Ich möchte das jeweils für 12 Zeilen durchführen. Insgesamt hat die Tabelle gut 20.000 Zeilen (zum Test habe ich es erstmal mit 36 probiert) Meine Idee sieht bisher so aus:
Sub MW_berechnen()
'
Dim i As Integer
For i = 2 To 37 Step 12
Cells(i, 10).Select
'Die Werte für den Mittelwertstehen in Spalte F, Ausgabe in Spalte J
ActiveCell.FormulaR1C1 = "=AVERAGE(RiC6:Ri+11C6)"
Cells(i, 10).Select
Selection.AutoFill Destination:=Cells("i, 10:i + 11, 10"), Type:=xlFillDefault
Cells("i, 10: i+11, 10").Select
Cells(i, 11).Select
ActiveCell.FormulaR1C1 = "=RC[-5]/RC[-1]"
Cells(i, 11).Select
Selection.AutoFill Destination:=Cells("i, 11:i+11, 11"), Type:=xlFillDefault
Cells("i, 11:i+11, 11").Select
Next i
End Sub
Allerdings funktionier das nicht, ich bekomme immer die Fehlermedlung "Anwendung- oder objektdefinierter Fehler". Ich vermute es liegt daran, dass ich die Bereiche falsch angegeben habe. Habe immer cells verwendet, da ich mit range noch nicht so vertraut bin. Ich weiß leider nicht, wie ích die Bereiche richtig angeben muss.
Freue mich über eure Kommentare.
Gruß susi
|