AW: Variable löschen
24.04.2022 18:46:25
Thomas
Hallo onur,
hier ist das Makro, verstehe es echt nicht. Kann die Variable in der If sogar weg lassen und direkt zum Beispiel ein "b" reinschreiben als Bedingung. Nur nicht einmal direkt wird dieses b von der If gelesen, es geht gleich über in die Else. Verstehe ich jetzt echt nicht!
Sub Personal()
Dim KW As String, KT As String, Name As String, Ort As String
Dim i 'Zähler alle Daten einlesen
Dim KWZeile 'Zähler für Zeile der KW suchen
Dim letztezeile As String 'Letzte folle Zeile suchen
For i = 6 To 30 'Zähler alle Daten einlesen
With Worksheets("Kalender")
If .Cells(i, 2) = "" Then End ' Wenn Zeilen leer dann abbrechen
KW = .Cells(i, 2) 'KalenderWoche
KT = .Cells(i, 3) 'KalenderTag
Name = .Cells(i, 4) 'Name
Ort = .Cells(i, 5) 'Ort
End With
MsgBox KW
For KWZeile = 11 To 25 'Zähler für Zeile der KW suchen
With Worksheets("PersonalPlan")
If .Cells(KWZeile, 2) = KW Then 'KW suchen
MsgBox Name
If .Cells(KWZeile, 4).Value = Name Or .Cells(KWZeile, 4).Value = "" Then 'Name oder leere Zeile suchen
MsgBox Name
If .Cells(1, 6) = KT Then
.Cells(KWZeile, 4) = Name
.Cells(KWZeile, 6) = Ort
Exit For
MsgBox KW & " 2"
ElseIf .Cells(1, 7) = KT Then
.Cells(KWZeile, 4) = Name
.Cells(KWZeile, 7) = Ort
Exit For
MsgBox KW & " 2"
End If
Else
letztezeile = ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row + 1 'Letzte folle Zeile suchen
MsgBox letztezeile
If .Cells(1, 6) = KT Then
.Cells(letztezeile, 4) = Name
.Cells(letztezeile, 6) = Ort
Exit For
MsgBox KW & " 2"
ElseIf .Cells(1, 7) = KT Then
.Cells(letztezeile, 4) = Name
.Cells(letztezeile, 7) = Ort
Exit For
MsgBox KW & " 2"
End If
End If 'End If von cells kw
End If 'End If von "" Or Name
End With
Next KWZeile
Next i
End Sub