Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1852to1856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

For...Next ohne For

For...Next ohne For
27.10.2021 11:56:21
Mo
Moin,
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For...Next ohne For
27.10.2021 11:59:56
UweD
ein
END WITH fehlt noch
LG UweD
AW: For...Next ohne For
27.10.2021 14:56:12
Mo
Moin Uwe,
vielen Dank erstmal die Schleife funktionier nun. Unten steht jetzt:
Next iKostenel
End With
Next iKosten
End With
End Sub
Problem ist nun: die zweite If-Then Funktion wird nun nicht mehr ausgeführt (das übertragen der Ergebnisse in ein anderes Arbeitsblatt). Woran es liegt weiß ich nicht. Es gibt nichtmal eine Fehlermeldung.
AW: For...Next ohne For
27.10.2021 15:24:01
UweD
Hallo
sieh dir mal die Verwendung von With... an
Bei verschachtelter Anwendung wird es kniffelig
Auch genau auf die .Punkte achten
Versuch es mal so (dann vereinfacht sich auch einiges)
Ohne Test

Dim xyz As Single
Dim WsI As Worksheet
Set WsI = Worksheets("Input Daten")
'anzR Wichitg!: Erste Spalte muss gefüllt sein damit mit gezählt wird!
anzR = WsI.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
.Range(ZelleErgebnis1).Value = (WsI.Cells(iKosten, 4) + WsI.Cells(iKosten, 11)) / .Cells(iKostenel, 13)
.Range(ZelleErgebnis2).Value = WsI.Cells(iKosten, 3) * (Worksheets("Kosten").Cells(2, 8) / .Cells(iKostenel, 13))
.Range(ZelleErgebnis3).Value = (WsI.Cells(iKosten, 18) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
.Range(ZelleErgebnis4).Value = Worksheets("Kosten").Cells(2, 8) / .Cells(iKostenel, 13)
.Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
.Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12)
ElseIf ActiveCell.Value = "Braunkohle" Then
'usw
.Range(ZelleErgebnis7).Value = .Cells(iKostenel, 19)
End If
.Range("A1:X543").Sort Key1:=.Range("R2"), Header:=xlYes
If .Cells(iKostenel, 20) >= WsI.cellls(iKosten, 29) Then
'usw
End If
Next iKostenel
End With
Next iKosten
End Sub
LG UweD
Anzeige
AW: For...Next ohne For
27.10.2021 15:46:42
Piet
Hallo
ich habe mir erlaubt in deinen Code mal Set Anweisungen mit einzubauen. Das verkürzt die Syntac erheblich zur besseren Übersicht.
Frage: - am Code Ende in der letzten IF Then Anweisung steht ein Exit Sub!! Ist das so richtig? Nur du kannst das wissen.
mfg Piet
  • 
    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
    Dim IPD As Worksheet
    Dim Kst As Worksheet
    Set IPD = Worksheets("Input Daten")
    Set Kst = Worksheets("Kosten")
    'anzR Wichitg!: Erste Spalte muss gefüllt sein damit mit gezählt wird!
    anzR = IPD.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
    .Range(ZelleErgebnis1).Value = (IPD.Cells(iKosten, 4) + IPD.Cells(iKosten, 11)) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis2).Value = IPD.Cells(iKosten, 3) * (Kst.Cells(2, 8) / .Cells(iKostenel, 13))
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 18) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(2, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12)
    ElseIf ActiveCell.Value = "Braunkohle" Then
    .Range(ZelleErgebnis1).Value = (IPD.Cells(iKosten, 5) + IPD.Cells(iKosten, 12)) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis2).Value = IPD.Cells(iKosten, 3) * (Kst.Cells(3, 8) / .Cells(iKostenel, 13))
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 19) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(3, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12)
    ElseIf ActiveCell.Value = "Erdgas" Then
    .Range(ZelleErgebnis1).Value = (IPD.Cells(iKosten, 6) + IPD.Cells(iKosten, 13)) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis2).Value = IPD.Cells(iKosten, 3) * (Kst.Cells(4, 8) / .Cells(iKostenel, 13))
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 20) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(4, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12)
    ElseIf ActiveCell.Value = "Kernenergie" Then
    .Range(ZelleErgebnis1).Value = (IPD.Cells(iKosten, 7) + IPD.Cells(iKosten, 14)) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis2).Value = IPD.Cells(iKosten, 3) * (Kst.Cells(5, 8) / .Cells(iKostenel, 13))
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 21) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(5, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12)
    .Range(ZelleErgebnis7).Value = .Cells(iKostenel, 19)
    ElseIf ActiveCell.Value = "Mineralölprodukte" Then
    .Range(ZelleErgebnis1).Value = (IPD.Cells(iKosten, 8) + IPD.Cells(iKosten, 15)) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis2).Value = IPD.Cells(iKosten, 3) * (Kst.Cells(6, 8) / .Cells(iKostenel, 13))
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 22) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(6, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12)
    ElseIf ActiveCell.Value = "Abfall" Then
    .Range(ZelleErgebnis1).Value = (IPD.Cells(iKosten, 9) + IPD.Cells(iKosten, 16)) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis2).Value = IPD.Cells(iKosten, 3) * (Kst.Cells(7, 8) / .Cells(iKostenel, 13))
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 23) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(7, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12)
    ElseIf ActiveCell.Value = "Sonstige Energieträger" Then
    .Range(ZelleErgebnis1).Value = (IPD.Cells(iKosten, 10) + IPD.Cells(iKosten, 17)) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis2).Value = IPD.Cells(iKosten, 3) * (Kst.Cells(8, 8) / .Cells(iKostenel, 13))
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 24) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(8, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12)
    ElseIf ActiveCell.Value = "Wind" Then
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 25) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(9, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12) * IPD.Cells(iKosten, 27)
    .Range(ZelleErgebnis7).Value = .Cells(iKostenel, 19)
    ElseIf ActiveCell.Value = "Sonne" Then
    .Range(ZelleErgebnis3).Value = (IPD.Cells(iKosten, 26) / .Cells(iKostenel, 13)) + .Cells(iKostenel, 15) + .Cells(iKostenel, 17)
    .Range(ZelleErgebnis4).Value = Kst.Cells(10, 8) / .Cells(iKostenel, 13)
    .Range(ZelleErgebnis5).Value = .Cells(iKostenel, 19) * .Cells(iKostenel, 21)
    .Range(ZelleErgebnis6).Value = .Cells(iKostenel, 12) * IPD.Cells(iKosten, 28)
    .Range(ZelleErgebnis7).Value = .Cells(iKostenel, 19)
    End If
    .Range("A1:X543").Sort Key1:=Range("R2"), Header:=xlYes
    If .Cells(iKostenel, 20) >= IPD.Cells(iKosten, 29) Then
    .Range(.Cells(iKostenel, 2), .Cells(iKostenel, 20)).Copy
    Worksheets("Auswertung").Cells(iKosten, 3).PasteSpecial Paste:=xlPasteValues, Transpose:=False
    IPD.Cells(iKosten, 29).Copy
    Worksheets("Auswertung").Cells(iKosten, 22).PasteSpecial Paste:=xlPasteValues, Transpose:=False
    .Range(.Cells(iKostenel, 21), .Cells(iKostenel, 25)).Copy
    Worksheets("Auswertung").Cells(iKosten, 23).PasteSpecial Paste:=xlPasteValues, Transpose:=False
    .Cells(iKostenel, 25).Copy
    Worksheets("Auswertung").Cells(iKosten, 28).PasteSpecial Paste:=xlPasteValues, Transpose:=False
    IPD.Cells(iKosten, 1).Copy
    Worksheets("Auswertung").Cells(iKosten, 1).PasteSpecial Paste:=xlPasteValues, Transpose:=False
    IPD.Cells(iKosten, 2).Copy
    Worksheets("Auswertung").Cells(iKosten, 2).PasteSpecial Paste:=xlPasteValues, Transpose:=False
    Application.CutCopyMode = False
    Exit 
    
    
    Sub   '###  ist das richtig ?
    End If
    Next iKostenel
    End With
    Next iKosten
    End Sub
    

  • Anzeige
    AW: For...Next ohne For
    27.10.2021 17:21:53
    onur
    Würdest du richtig strukturiert programmieren und korrekt einrücken (statt je nach Windrichtung), würdest du sofort sehen, wo das Problem liegt. :)

    158 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige