Hallo,
Ich habe ein Problem mit meiner Scleife.
Sie soll vom prinzipher überprüfen, ob in allen benötigten Feldern für das berechnen einer Formel alle Werte eingetragen sind.
Leider läuft dann jedoch eine Endlosschleife ab. Ich habe es auch mit der For next und der Do while Schleife probiert, das Ergebnis war jedoch das selbe.
könnt Ihr mir einen Tip geben, was ich falsch gemacht habe.
In den auskommentierten Call funktionen laufen die schleifen.
...........................
Option Explicit
Private Sub WorkSheet_Change(ByVal Target As Range)
Call Montagevorspannkraft
' Call Farbabfrage_Flaechenpressung
End Sub
Sub Montagevorspannkraft()
Dim Abschnitt, S, N, M, Zeile, Spalte, Zeile2, Spalte2 As Integer
Abschnitt = 0
S = 1
Do
Zeile = S + Abschnitt
Zeile2 = S + 1 + Abschnitt
If Cells(Zeile, 16) = "" or If Cells(Zeile2, 16) = "" Then
Cells(Zeile, 17) = ""
Else
Cells(Zeile, 17) = Cells(Zeile, 16) + Cells(Zeile2, 16)
End If
Abschnitt = Abschnitt + 13
S = S + 1
Loop Until S > 3
End Sub
sub Farbabfrage_Flaechenpressung()
Dim S, N, M, Zeile, Spalte, Zeile2, Spalte2 As Integer
For S = 0 To 26 Step 13
For N = 1 To 3 Step 2
Zeile = S + N
Zeile2 = Zeile + 1
For M = 1 To 5 Step 2
Spalte = 0 + M
Spalte2 = Spalte + 1
Select Case Cells(Zeile, Spalte)
Case Is = ""
' Grau
With Sheets("Tabelle1")
.Range(Cells(Zeile, Spalte), Cells(Zeile2, Spalte2)).Interior.ColorIndex = 15
End With
Case Is <= Cells(S + 1, 8)
'Gruen
With Sheets("Tabelle1")
.Range(Cells(Zeile, Spalte), Cells(Zeile2, Spalte2)).Interior.ColorIndex = 43
End With
Case Is > Cells(S + 1, 8)
' Rot
With Sheets("Tabelle1")
.Range(Cells(Zeile, Spalte), Cells(Zeile2, Spalte2)).Interior.ColorIndex = 3
End With
End Select
Next M
Next N
Next S
End Sub
|