VBA Formel in jede xte Zeile bis Zeilenende
#1
Hallo Clever-Excel-Forum,
ich hab mal wieder ein kleines Problem, welches wie üblich durch das lösen anderer Probleme auftritt  :22: Angry
Ich habe eine Tabelle, bei der sich die Daten alle 5 Minuten ändern. In der Spalte daneben soll er jede Stunde die Summe anzeigen. Das heißt alle 12 Zeilen, die Summe aus den Daten darüber in der benachbarten Spalte bilden. In Excel ist es ja einfach ein runterziehen. Wie geht das aber mit VBA ? Auf dem Bild seht ihr ein Beispiel.
Würde mich über jede Hilfe freuen.

Vielen Dank

Gruß

MiBi


Angehängte Dateien Thumbnail(s)
   
Top
#2
Hallo

Code:
Sub Wert_x()
    Dim iZ1 As Integer, LR As Long, iStep As Integer
    Dim iSP As Integer, i As Integer
   
    iSP = 17 'Spalte mit Wert
    iStep = 12 'Schrittweite
    iZ1 = 19 ' Erste Zeile
   
    With Sheets("Tabelle1")
        LR = .Cells(.Rows.Count, iSP).End(xlUp).Row 'letzte Zeile der Spalte
       
       
        For i = iZ1 + iStep To LR Step iStep
            .Cells(i, iSP + 1).FormulaR1C1 = "=SUM(R[-12]C[-1]:RC[-1])"
           
        Next
   
    End With
End Sub


LG UweD
Top
#3
Woooow.... Vielen herzlichen Dank :):):):)
Top
#4
Hi

so, um es variabel zu halten

Code:
            .Cells(i, iSP + 1).FormulaR1C1 = "=SUM(R[-" & iStep & "]C[-1]:RC[-1])"

LG UweD
Top
#5
Hallo MiBi,

bitte nicht unnötig vollzitieren; es genügt, den Antworten-Button zu benutzen.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Top
#6
Als Alternative, ganz normal zu kopieren (Summen direkt untereinander):

R19: =INDEX(P:P;ZEILE(R1)*12+7)
S19: =SUMME(INDEX(Q:Q;ZEILE(S1)*12+7):INDEX(Q:Q;ZEILE(S1)*12+18))
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste