Excel Makro Sprung von Zeile zu Zeile
#1
Hi :)
Ich bin neu hier und hoffe ihr könnt mir weiter helfen.
Ich werte gerade auf Excel einen Verbrauch im 1h Takt über ein Jahr verteilt aus (8760 Werte).
Jetzt möchte ich für ein Projekt diesen Verbrauch in 15-Minuten-Werte (35.040 Werte) aufteilen.
Das heißt jeder 1h Wert in kWh muss 4x in 15 Minuten Werte der Stunde aufgeteilt werden.

Beispiel:
1.1. 2019 1:00 Uhr     => 1.1.2019 1:00
                                     1.1. 2019 1:15
                                     1.1. 2019 1:30
                                     1.1.2019 1:45
16 kWh => jeweils 4 kWh

1.1.2019 2:00 => 1.1.2019 2:00
                             1.1. 2019 2:15
                             1.1. 2019 2:30
                             1.1.2019 2:45
20 kWh => jeweils 5 kWh

Jetzt ist es aber total mühsam, dass für alle Werte der ganzen Tabelle händisch zu rechnen. Deswegen möchte ich gerne eine Funktion oder ein Makro schreiben, damit das automatisch berechnet wird.
Ich habe bereits ein Makro angefangen zu schreiben, jedoch fehlt mir ein bisschen der Hintergrund, um das für die Tabelle perfekt auszuführen.

Sub Schleife_in_Schleife()
Dim i As Long
Dim j As Long

For i = 5 To 35041
For j = 7 To 7
Cells(i, j).Value = CLng(Cells(3, 4).Value * 0.25)
Next j
Next i

End Sub

Hier würde es beispielsweise nicht auf eine neue Zeile springen, nachdem der Wert 4 Mal geteilt wurde.
Ich hoffe ihr versteht was ich meine und für Ratschläge und Tipps bin ich sehr dankbar  :17:
Top
#2
Moin!
Warum VBA, wenn dies eine simple Formel erschlägt?

ABCDE
1Timestamp1VerbrauchTimestamp2Verbrauch
201.01.2019 01:001601.01.2019 01:004
301.01.2019 02:002001.01.2019 01:154
401.01.2019 03:001801.01.2019 01:304
501.01.2019 04:002201.01.2019 01:454
601.01.2019 02:005
701.01.2019 02:155
801.01.2019 02:305
901.01.2019 02:455
1001.01.2019 03:004,5
1101.01.2019 03:154,5
1201.01.2019 03:304,5
1301.01.2019 03:454,5
1401.01.2019 04:005,5
1501.01.2019 04:155,5
1601.01.2019 04:305,5
1701.01.2019 04:455,5

ZelleFormel
E2=VERWEIS(UNTERGRENZE.MATHEMATIK(D2;1/24);A:B)/4
A3=A2+ZEIT(1;;)
D3=D2+ZEIT(;15;)
E3=VERWEIS(UNTERGRENZE.MATHEMATIK(D3;1/24);A:B)/4

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Ellie123
Top
#3
Hallöchen,

das sieht mir nicht nach einer richtigen Schleife aus Smile For j = 7 To 7

Du musst das anders gestalten, wenn wir bei Deiner Methode bleiben wollen. Gehe die 8760 Zeilen durch und schreibe jeweils 4 Zellen daneben die Aufteilung.

Im Prinzip
Code:
k = 1
For i = 1 To 8760
For j = k To k + 3
Cells(2, k) = Cells(1, i)
k = k + 1
Next
Next

Damit hättest Du dann jeden Eintrag aus Spalte A 4x in Spalte B. Und das geht natürlich auch mit Vierteln Smile
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Ellie123
Top
#4
Hallo Ralf und schauan,

ich möchte mich bei euch beiden bedanken :)
Hat alles super geklappt, wieder ein Stück weiter in meiner Masterarbeit.

Viele Grüße
Top


Gehe zu:


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