Verschachtelte If-Schleifen
28.02.2004 16:27:55
Benjamin Gaus
Aber wenn ich jetzt 3 Eingebe, macht er 2 neue Zeilen. Es würde eine reichen. Weil in der ersten hat einer Platz und in der 2 Zeile 2! Dann sollte die 2 IF-Schleife greifen, das macht diese aber nicht. warum denn nicht?
Abwesend_SR = 3 (Eingabe)
prompt2 = "davon Abwesend geltende Gruppen-SR?"
Abwesend_SR = Application.InputBox(prompt2)
If Abwesend_SR = Falsch Then
Tabelle1.Cells(27, 6).Value = 0
ElseIf Abwesend_SR > 0 Then
zeile = 29
spalte = 4
zaehler1 = 1
For i = 1 To Abwesend_SR
prompt21 = "Namen der Abwesenden geltenden Gruppen-SR? (Einzel Eingabe der Personen!)"
Namen_Abwesend = Application.InputBox(prompt21)
Tabelle1.Cells(zeile, spalte).Value = Namen_Abwesend
If spalte = 4 Then
diese IF --> If zaehler1 = Abwesend_SR Then
Else
zeile = zeile + 1
spalte = 1
Range("A" & zeile).Select
Selection.EntireRow.Insert
Range("A" & zeile, "G" & zeile).Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Font.Bold = False
With Selection.Font
.Name = "Arial"
.Size = 11
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
End If
zaehler1 = zaehler1 + 1
ElseIf spalte = 1 Then
spalte = spalte + 3
zaehler1 = zaehler1 + 1
End If
Tabelle1.Cells(20, 10).Value = Abwesend_SR
Tabelle1.Cells(20, 11).Value = zaehler1
Tabelle1.Cells(20, 12).Value = spalte
Tabelle1.Cells(20, 13).Value = zeile
Next i
Tabelle1.Cells(27, 6).Value = Abwesend_SR
Else
Tabelle1.Cells(27, 6).Value = Abwesend_SR
End If
Excel-Tabelle, so sollte es aussehen:
29: Namen x
30: y z
so ist es falsch:
29: Name x
30: y z
31:
also hat die Zeile 31 erstellt und das sollte mit der markierten IF-Schleife (If zaehler1 = Abwesend_SR Then) Abgefangen werden, was das Programm nicht macht!
was ist falsch?