For...Next ohne For
27.10.2021 11:56:21
Mo
ich habe folgendes Problem. Ich hätte gerne eine äußere Schleife (iKosten), die dafür sorgt das die Werte aus meinem Arbeitsblatt "Input Daten" automatisch durchlaufen werden. Die innere Schleife (iKostenel) funktioniert einwandfrei. Bei der äußeren kommt jedoch die Fehlermeldung Next ohne For . Das For und Next der äußeren habe ich unten fett markiert.
Das der gesamte Code nicht sonderlich schön ist, ist mir klar. Das ist nicht wichtig solange es funktioniert. Falls mir jemand irgendwie helfen kann auch noch die äußere Schleife zu automatissieren wre ich sehr dankbar.
MfG, Mo
'Public Const iKosten = 3 'Quasi-Zähler für äußere Schleife, muss für jede Stunde per Hand einen weiter gestellt werden (nicht 24h Format, sondern 1+n)
Sub Steuermodul()
'Steuermodul lässt alle anderen Subs nacheinander durchlaufen
Test4
Sortieren
Kopieren
End Sub
Sub Test4()
'Variablen definieren
Dim anzR As Single
Dim anzR1 As Single
Dim iKosten As Single
Dim iKostenel As Single
Dim ZelleAktuell As String
Dim ZelleErgebnis1 As String
Dim ZelleErgebnis2 As String
Dim ZelleErgebnis3 As String
Dim ZelleErgebnis4 As String
Dim ZelleErgebnis5 As String
Dim ZelleErgebnis6 As String
Dim ZelleErgebnis7 As String
Dim iErgebnisse As Single
Dim xyz As Single
With Worksheets("Input Daten")
'anzR Wichitg!: Erste Spalte muss gefüllt sein damit mit gezählt wird!
anzR = .Cells(.Rows.Count, 1).End(xlUp).Row
For iKosten = 2 To anzR
With Worksheets("Daten")
'anzR Wichitg!: Erste Spalte muss gefüllt sein damit mit gezählt wird!
anzR1 = .Cells(.Rows.Count, 1).End(xlUp).Row
For iKostenel = 2 To anzR1
ZelleAktuell = "H" & iKostenel
Range(ZelleAktuell).Select
ZelleErgebnis1 = "O" & iKostenel
ZelleErgebnis2 = "Q" & iKostenel
ZelleErgebnis3 = "R" & iKostenel
ZelleErgebnis4 = "U" & iKostenel
ZelleErgebnis5 = "V" & iKostenel
ZelleErgebnis6 = "S" & iKostenel
ZelleErgebnis7 = "X" & iKostenel
'Berechnet Brennstoffkosten nach Brennstoffart Formel: Brennstoffkostenel = (Brennstoffkosten + Transportkosten) / Effizienz
'Berechnet Emissionskosten: Emissionskostenel = EUA-Preis *(Emissionsfaktor / Effizienz)
'Berechnet sonstige- und Gesamtkossten: Gesamtkostenel = (sonstige Kosten / Effizienz) + Brennstoffkosten + Emissionskosten
'Berechnet Emissionsfaktor des Kraftwerks: Emissionsfaktor Brennstoff / Effizienz
'Berechnet Emissionen der Stromerzeugung: Emissionsfaktor (Kraftwerk) * Nettoleistung
If ActiveCell.Value = "Steinkohle" Then
Worksheets("Daten").Range(ZelleErgebnis1).Value = (Worksheets("Input Daten").Cells(iKosten, 4) + Worksheets("Input Daten").Cells(iKosten, 11)) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis2).Value = Worksheets("Input Daten").Cells(iKosten, 3) * (Worksheets("Kosten").Cells(2, 8) / Worksheets("Daten").Cells(iKostenel, 13))
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 18) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(2, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12)
ElseIf ActiveCell.Value = "Braunkohle" Then
Worksheets("Daten").Range(ZelleErgebnis1).Value = (Worksheets("Input Daten").Cells(iKosten, 5) + Worksheets("Input Daten").Cells(iKosten, 12)) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis2).Value = Worksheets("Input Daten").Cells(iKosten, 3) * (Worksheets("Kosten").Cells(3, 8) / Worksheets("Daten").Cells(iKostenel, 13))
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 19) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(3, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12)
ElseIf ActiveCell.Value = "Erdgas" Then
Worksheets("Daten").Range(ZelleErgebnis1).Value = (Worksheets("Input Daten").Cells(iKosten, 6) + Worksheets("Input Daten").Cells(iKosten, 13)) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis2).Value = Worksheets("Input Daten").Cells(iKosten, 3) * (Worksheets("Kosten").Cells(4, 8) / Worksheets("Daten").Cells(iKostenel, 13))
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 20) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(4, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12)
ElseIf ActiveCell.Value = "Kernenergie" Then
Worksheets("Daten").Range(ZelleErgebnis1).Value = (Worksheets("Input Daten").Cells(iKosten, 7) + Worksheets("Input Daten").Cells(iKosten, 14)) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis2).Value = Worksheets("Input Daten").Cells(iKosten, 3) * (Worksheets("Kosten").Cells(5, 8) / Worksheets("Daten").Cells(iKostenel, 13))
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 21) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(5, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12)
Worksheets("Daten").Range(ZelleErgebnis7).Value = Worksheets("Daten").Cells(iKostenel, 19)
ElseIf ActiveCell.Value = "Mineralölprodukte" Then
Worksheets("Daten").Range(ZelleErgebnis1).Value = (Worksheets("Input Daten").Cells(iKosten, 8) + Worksheets("Input Daten").Cells(iKosten, 15)) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis2).Value = Worksheets("Input Daten").Cells(iKosten, 3) * (Worksheets("Kosten").Cells(6, 8) / Worksheets("Daten").Cells(iKostenel, 13))
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 22) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(6, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12)
ElseIf ActiveCell.Value = "Abfall" Then
Worksheets("Daten").Range(ZelleErgebnis1).Value = (Worksheets("Input Daten").Cells(iKosten, 9) + Worksheets("Input Daten").Cells(iKosten, 16)) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis2).Value = Worksheets("Input Daten").Cells(iKosten, 3) * (Worksheets("Kosten").Cells(7, 8) / Worksheets("Daten").Cells(iKostenel, 13))
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 23) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(7, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12)
ElseIf ActiveCell.Value = "Sonstige Energieträger" Then
Worksheets("Daten").Range(ZelleErgebnis1).Value = (Worksheets("Input Daten").Cells(iKosten, 10) + Worksheets("Input Daten").Cells(iKosten, 17)) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis2).Value = Worksheets("Input Daten").Cells(iKosten, 3) * (Worksheets("Kosten").Cells(8, 8) / Worksheets("Daten").Cells(iKostenel, 13))
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 24) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(8, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12)
ElseIf ActiveCell.Value = "Wind" Then
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 25) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(9, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12) * Worksheets("Input Daten").Cells(iKosten, 27)
Worksheets("Daten").Range(ZelleErgebnis7).Value = Worksheets("Daten").Cells(iKostenel, 19)
ElseIf ActiveCell.Value = "Sonne" Then
Worksheets("Daten").Range(ZelleErgebnis3).Value = (Worksheets("Input Daten").Cells(iKosten, 26) / Worksheets("Daten").Cells(iKostenel, 13)) + Worksheets("Daten").Cells(iKostenel, 15) + Worksheets("Daten").Cells(iKostenel, 17)
Worksheets("Daten").Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(10, 8) / Worksheets("Daten").Cells(iKostenel, 13)
Worksheets("Daten").Range(ZelleErgebnis5).Value = Worksheets("Daten").Cells(iKostenel, 19) * Worksheets("Daten").Cells(iKostenel, 21)
Worksheets("Daten").Range(ZelleErgebnis6).Value = Worksheets("Daten").Cells(iKostenel, 12) * Worksheets("Input Daten").Cells(iKosten, 28)
Worksheets("Daten").Range(ZelleErgebnis7).Value = Worksheets("Daten").Cells(iKostenel, 19)
End If
Worksheets("Daten").Range("A1:X543").Sort Key1:=Range("R2"), Header:=xlYes
If Worksheets("Daten").Cells(iKostenel, 20) >= Worksheets("Input Daten").Cells(iKosten, 29) Then
Worksheets("Daten").Range(.Cells(iKostenel, 2), .Cells(iKostenel, 20)).Copy
Worksheets("Auswertung").Cells(iKosten, 3).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("Input Daten").Cells(iKosten, 29).Copy
Worksheets("Auswertung").Cells(iKosten, 22).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("Daten").Range(.Cells(iKostenel, 21), .Cells(iKostenel, 25)).Copy
Worksheets("Auswertung").Cells(iKosten, 23).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("Daten").Cells(iKostenel, 25).Copy
Worksheets("Auswertung").Cells(iKosten, 28).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("Input Daten").Cells(iKosten, 1).Copy
Worksheets("Auswertung").Cells(iKosten, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Worksheets("Input Daten").Cells(iKosten, 2).Copy
Worksheets("Auswertung").Cells(iKosten, 2).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Exit Sub
End If
Next iKostenel
Next iKosten
End With
End Sub