Hallo,
vielleicht wäre dieser Thread auch unter "Programmieren" gut aufgehoben. Ich habe ein Excel mit einem Rechenalgorithmus. Durch diesen sollen verschiedene Zahlen durchgejagt werden und auch in verschiedene Zellen ausgegeben werden. Ganz einfaches Beispiel: ich bekomme jeden Monat Taschengeld (variabel) und immer fix 5 Euro von Omma dazu. Ich trage für jeden Monat mein erhaltenes Taschengeld ein und Excel addiert zu jedem Monat die 5 Euro hinzu (führt also eine Rechenoperation aus) und gibt dann wieder eine Monatsreihe mit den berechneten Zahlen aus. Im angegebenen Beispiel wäre die Lösung leicht, einfach immer +5. Das Problem das ich zu lösen habe ist deutlich komplexer.
Ich muss ein und dieselbe Berechnung auf mehrere Zellen anwenden und das Ergebnis in verschiedene Zellen ausgeben. In VB sieht eine einfache Beispielberechnung wie folgt aus:
ActiveCell.FormulaR1C1 = "=R[-15]C*R[-7]C"
In Exceldeutsch heisst das: B17 = B2 * B10
Im nächsten Schritt soll es lauten: B18 = B3 * B10
Will daher eine Schleife programmieren. Bei mir siehts so aus und führt zu keinem Ergebnis:
Dim counter As Integer
Dim i As Integer
For i = 0 To 3
counter = 0
ActiveCell.FormulaR1C1 = "=R[-15+counter]C*R[-7+counter]C"
Range("B18").Select
counter = counter + 1
Next i
Wobei jetzt noch ein Counter fürs Ergebnisfeld fehlt. Also wenn hier ein Programmierprofi ist, wäre es super, wenn es dafür ne Lösung gäbe.
Danke und Gruß
Marc
Office - Word, Excel und Co. 9.703 Themen, 40.813 Beiträge
Hi
Du must in Excel mit den Zellen anderst arbeiten.
Der Anfang war schon nicht schlecht, aber danach happert es einwenig.
Angenommen in den Zellen B18 sollte das Ergebnis von B2*B10 stehen. In B19 sollte B3*B10....
For x=0 to 3
Range("B" & x+18).Value = Range("B" & x+2).Value * Range("B10")
next x