|  
                                             
	Ich habe mir das jetzt selbst zusammengebastelt. Nicht schön, aber selten. 
	Die Laufzeit ist bei 8760 Zeilen etwas lang. Hat jemand eine Idee wie man da anders/besser herangehen kann? 
	Ich habe absolut keine Ahnung vom Programmieren und bin erstaunt, dass es beim ersten Versuch geklappt hat. 
	Innerhalb der Speicherstand-Zellen steht eine aufwendige Formel (Deshalb die Ausgabe in einer gesonderten Spalte). Macht es Sinn diese auch in Code umzuschreiben oder sollte ich das so belassen? 
	  
	  
	  
	  
	Sub Speicher_Test() 
	Worksheets("Heizstab").Activate 
	  
	Dim Kessel As Long 'Range("B50") 
	Dim Speichermax As Long 'Range("B51") 
	Dim Speichermin As Long 'Range("B52") 
	  
	Kessel = Range("B50").Value 
	Speichermax = Range("B51").Value 
	Speichermin = Range("B52").Value 
	  
	                                         
	ActiveCell = Range("AB2")                                                                       'Geht das auch allgemeiner? So das er jede Spalte mit dem Namen Speicherverhalten anwählt                                                                                                                          'und dort als ActiveCell die zweite Zeile nutzt? 
	  
	Do Until ActiveCell.Value = ""                                                                                     'Führe folgende statements aus bis eine leere Zelle erreicht wird 
	If ActiveCell.Value <= Speichermin Then                                                                 'Abfrage der Bedingung Speicherstand <= Speichermin 
	Do Until (Speichermax - ActiveCell.Value) < Kessel                                              'Führe folgende statements so lange aus bis Differenz von 
	                                                                                                                                          'Speichermax-Speicherstand < Kessel. 
	ActiveCell.Offset(0, 4).Value = ActiveCell.Offset(0, 4).Value + Kessel                'Wenn die Speicherkapazität > Kesselleistung, dann führe Kesselnennleistung hinzu. 
	ActiveCell.Offset(1, 0).Select                                                                                       'Speichere den Wert 4 Spalten neben der aktiven Zelle ab. 
	Loop 
	Else 
	ActiveCell.Offset(1, 0).Select                                                                                       'Sonst eine Zeile weiter springen 
	End If                                                                                                                                'Ende 1. Wenn-Abfrage 
	If ActiveCell.Offset(-1, 4).Value > 0 Then                                                                  'Ausgabe von dem Rest zu Speichermax 
	ActiveCell.Offset(0, 4).Value = ActiveCell.Offset(0, 4).Value + (Speichermax - ActiveCell.Value) 
	Else                                                                                                                                 'Speichere den Wert 4 Spalten neben der aktiven Zelle ab. 
	ActiveCell.Offset(1, 0).Select                                                                                     'Sonst eine Zeile weiter springen 
	End If                                                                                                                              'Ende 1. Wenn-Abfrage 
	Loop                                                                                                                               'Ende 1. Schleife 
	  
	                                                                                                 
	End Sub 
     |