Hallo Bernd,
nochmals und um das Thema abzuschliessen :-)
Excel ist mein Hobby (andere lösen Sudoku oder KWR), drum zum gemütlichenSonntag noch meine VBA-Lösung.
Nach if Then habe ich nie mit else bzw. elseif weitergefahren, denn das gibt mir immer ein Puff... komme da nie draus, wie das bei VBA geht.
Ist eben eine etwas seltsame Programmiersprache, oder?
Eine gute Zeit und viel Spass!
Gruss, Liliane
Sub MyTest()
Dim x, y, z, max, rowOffs As Integer
Dim zelle As Range
Dim hasHAWA, hasFERT As Boolean
max = Me.Range("Tabelle").Rows.Count - 1 'Name der Basis-Tabelle, Länge -1 wegen offset...
Set zelle = Me.Range("Tabelle2").Cells(1, 1) 'die 1. Zeile/Zelle
hasHAWA = False
hasFERT = False
x = 0
y = 0
z = 0
For rowOffs = 0 To max
If zelle.Offset(rowOffs, 1).Value = "HAWA" Then hasHAWA = True
If zelle.Offset(rowOffs, 1).Value = "FERT" Then hasFERT = True
'wechselt nachher die Nummer? JA:auswerten, Nein: eine Zeile weiter
If (zelle.Offset(rowOffs, 0).Value <> zelle.Offset(rowOffs + 1, 0).Value) Then
If hasHAWA And Not hasFERT Then x = x + 1
If hasFERT And Not hasHAWA Then y = y + 1
If hasHAWA And hasFERT Then z = z + 1
hasHAWA = False
hasFERT = False
End If
Next rowOffs
MsgBox "x:" & x & " y:" & y & " z:" & z
End Sub
|