Die Excel Wühlkiste

Prüfen, ob Markierung im definierten Bereich liegt

Mit diesem kleinen Makro wird getestet, ob sich die aktive Zelle innerhalb eines genau definierten Bereichs befindet.
Wendet man z.B. die "Find"-Funktion auf einen definierten Bereich an und liegt die momentan aktive Zelle ausserhalb diese Bereiches, kommt es zu einer Fehlermeldung. Mit wenig Code kann man hier schnell festgestellen, ob sich die aktive Zelle innerhalb des richtigen Bereichs befindet und entsprechend reagieren.

In diesem kleinen Beispiel wird ausserdem noch geprüft, ob die aktive Seite die letzte Seite des Workbooks ist. Ist die aktive Seite die letzte Seite, trifft die "If"-Abfrage durch die Und-Verknüpfung nicht zu, und der nach "End If" folgende Code wird normal abgearbeitet. Die Prozedur wird hier mit "Exit Sub" nur dann abgebrochen, wenn sich die aktive Markierung NICHT innerhalb des bezeichneten Bereichs und NICHT auf der letzten Seite des Workbooks befindet.

Für den in der Überschrift genannten Zweck reicht aber die Intersect-Zeile ohne die "Und"-Verknüfung vollkommen aus.
(Siehe Beispiel 2)

Beispiel 1

Sub Zelle_auf_Bereich_pruefen

If Application.Intersect(ActiveCell, Range("A1:G80")) Is Nothing And _
Application.ActiveSheet.Index <> Application.Worksheets.Count Then
MsgBox "Markierung nicht innerhalb" & Chr(13) & "des Datenbereiches!", False, Application.UserName
Exit Sub  ' zum Beispiel
End If

' Weitere Programmzeile
' Weitere Programmzeile
' Weitere Programmzeile
' Weitere Programmzeile
' Weitere Programmzeile

End Sub

Beispiel 2

Sub Zelle_auf_Bereich_pruefen

If Application.Intersect(ActiveCell, Range("A1:G80")) Is Nothing Then
MsgBox "Markierung nicht innerhalb" & Chr(13) & "des Datenbereiches!", False, Application.UserName
Exit Sub  ' zum Beispiel
End If

' Weitere Programmzeile
' Weitere Programmzeile
' Weitere Programmzeile
' Weitere Programmzeile
' Weitere Programmzeile

End Sub
Die Excel Wühlkiste
Valid HTML 4.01 Strict
letzte Aktualisierung: 13.02.2009
Autor: Hubert Scheidgen / 04.02.2009
W3C CSS-Validierungsservice