AW: neue Version
25.08.2008 22:08:15
Erich
Hi Kurt,
es ist immer noch nicht klar, was wann selektiert werden soll.
Mich beschleicht ein wenig das ungute Gefühl, VBA sollte auch unterscheiden,
ob eine 2 in schwarzer oder roter Schriftfarbe in einer Zelle steht...
Dem ist jetzt nicht so. Auch die Rahmen werden von der Prozedur nicht beachtet.
Probier mal:
Sub Makro1()
Dim lngA As Long, lngV As Long, lngB As Long, varZ
With Application
lngA = ActiveCell.Row
Select Case Cells(lngA, 3)
Case "1"
lngV = lngA
varZ = .Match(2, Range(Cells(lngA + 1, 3), Cells(Rows.Count, 3)), 0)
If Not IsError(varZ) Then lngB = varZ + lngA
Case "2"
lngB = lngA
lngV = Evaluate("=MAX((C1:C" & lngA - 1 & "=1)*ROW(C1:C" & lngA - 1 & "))")
Case Else
varZ = .Match(2, Range(Cells(lngA + 1, 3), Cells(Rows.Count, 3)), 0)
If Not IsError(varZ) Then
lngB = varZ + lngA
lngV = Evaluate("=MAX((C1:C" & lngA - 1 & "=1)*ROW(C1:C" & lngA - 1 & "))")
End If
End Select
If lngV > 0 And lngB > lngV Then
If Cells(lngV, 3) = 1 And Cells(lngB, 3) = 2 Then
Range(Cells(lngV, 3), Cells(lngB, 15)).Select
Else
MsgBox "Kein Bereich ausgewählt"
End If
Else
MsgBox "Kein Bereich ausgewählt"
End If
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort