Option
Explicit
Private
Enum
ContentStatusEnum
cstNone = 0
cstKA = 1
cstNotKA = 2
cstMixed = cstKA
Or
cstNotKA
End
Enum
Public
Sub
Test()
Dim
rngCell
As
Excel.Range
Dim
enmStatus
As
ContentStatusEnum
Dim
lngOffset
As
Long
Set
rngCell = Worksheets(
"Tabelle1"
).Range(
"H2"
)
enmStatus = cstNone
lngOffset = 0
Do
While
rngCell.Offset(lngOffset).Value <>
""
Select
Case
UCase$(rngCell.Worksheet.Cells(rngCell.Offset(lngOffset).Row,
"C"
).Value)
Case
"KA"
enmStatus = enmStatus
Or
cstKA
Case
Else
enmStatus = enmStatus
Or
cstNotKA
End
Select
If
0 = StrComp(rngCell.Offset(lngOffset).Value, rngCell.Offset(lngOffset + 1).Value)
Then
lngOffset = lngOffset + 1
Else
Set
rngCell = rngCell.Offset(lngOffset + 1)
If
enmStatus = cstKA
Then
Debug.Print
"delete '"
; rngCell.Offset(-1).Value;
"'"
rngCell.Worksheet.Range(rngCell.Offset(-lngOffset - 1), rngCell.Offset(-1)).EntireRow.Delete
Else
Debug.Print
"skip '"
; rngCell.Offset(-1).Value;
"'"
End
If
enmStatus = cstNone
lngOffset = 0
End
If
Loop
End
Sub