AW: Markierung umkehren?
25.08.2007 10:50:30
Daniel
Hi
hier noch ne andere Variante zur Selektionsumkehr, ist ein bischen kürzer
Option Explicit
Dim rngGesamtbereich As Range
Sub Gesamtbereich_definieren()
Set rngGesamtbereich = Selection
End Sub
Sub Selection_invertieren()
Dim rngSelectionAlt As Range
Dim rngSelectionNeu as Range
Dim Zelle As Range
'set Gesamtbereich = Range(...) 'Diese Zeile Verwenden, wenn der Gesamtbereich immer gleich _
ist.
' Das Makro Gesamtbereich definieren kann dann entfallen, _
der folgende IF-Block auch.
If rngGesamtbereich Is Nothing Then
MsgBox "Es ist kein Gesamtbereich definiert, bitte selektieren Sie den Gesamtbereich _
und führen sie das Makro ""Gesamtbereich_definieren"" aus."
Exit Sub
End If
Set rngSelectionAlt = Selection
For Each Zelle In rngGesamtbereich
If Intersect(Zelle, rngSelectionAlt) Is Nothing Then
Set rngSelectionNeu = Zelle
Exit For
End If
Next
For Each Zelle In rngGesamtbereich
If Intersect(Zelle, rngSelectionAlt) Is Nothing Then Set rngSelectionNeu = Union( _
rngSelectionNeu, Zelle)
Next
If Not rngSelectionNeu Is Nothing Then rngSelectionNeu.Select
End Sub
es sind 2 Makros, das erste legt den Gesamtbereich fest, auf den sich die Umkehr beziehen soll.
Dazu den Gesamtbereich markieren und das Makro starten.
Erst danach kann mit der Selektions-Umkehr gearbeitet werden.
Ist der Gesamtbereich immer gleich, kann die Definition natürlich direkt ins Hauptmakro übernommen werden.
gruß, Daniel