Über die Tastenkombination Ctrl+ Klicken können mehrere Excel-Zellen (entweder zusammenhängend oder nicht) ausgewählt werden .
Wie heben Sie die Auswahl einer oder mehrerer dieser zuvor ausgewählten Zellen auf?
Über die Tastenkombination Ctrl+ Klicken können mehrere Excel-Zellen (entweder zusammenhängend oder nicht) ausgewählt werden .
Wie heben Sie die Auswahl einer oder mehrerer dieser zuvor ausgewählten Zellen auf?
Antworten:
Mit der UMSCHALTTASTE und / oder der STRG-Taste können Sie nicht zusammenhängende Bereiche auswählen. Wenn Sie jedoch versehentlich eine Zelle oder einen Bereich auswählen, gibt es keine Möglichkeit, diese aus der Auswahl zu entfernen, ohne die gesamte Auswahl zu verlieren und von vorne beginnen zu müssen. Diese Seite beschreibt die VBA-Prozeduren UnSelectActiveCell und UnSelectCurrentArea, mit denen die aktive Zelle oder der Bereich mit der aktiven Zelle aus der aktuellen Auswahl entfernt werden. Alle anderen Zellen in der Auswahl bleiben ausgewählt.
Am besten fügen Sie diese zu Ihrer persönlichen Makro-Arbeitsmappe hinzu, damit sie für alle geöffneten Arbeitsmappen in Excel verfügbar sind.
Durch diesen Vorgang wird die aktive Zelle aus der Auswahl entfernt .
Sub UnSelectActiveCell()
Dim R As Range
Dim RR As Range
For Each R In Selection.Cells
If StrComp(R.Address, ActiveCell.Address, vbBinaryCompare) <> 0 Then
If RR Is Nothing Then
Set RR = R
Else
Set RR = Application.Union(RR, R)
End If
End If
Next R
If Not RR Is Nothing Then
RR.Select
End If
End Sub
Durch diesen Vorgang wird der Bereich mit der aktiven Zelle aus der Auswahl entfernt.
Sub UnSelectCurrentArea()
Dim Area As Range
Dim RR As Range
For Each Area In Selection.Areas
If Application.Intersect(Area, ActiveCell) Is Nothing Then
If RR Is Nothing Then
Set RR = Area
Else
Set RR = Application.Union(RR, Area)
End If
End If
Next Area
If Not RR Is Nothing Then
RR.Select
End If
End Sub
deselect
eine Zelle kommt. Es ist absolut lächerlich! Ich wähle jede 2. Spalte aus und wenn ich einen Fehler mache, muss ich von vorne anfangen? Das ist doch verrückt!
Eine robustere Methode zum Aufheben der Auswahl mehrerer Zellen wird in diesem ExtendOffice-Artikel beschrieben . Es enthält zwar eine zusätzliche Eingabeaufforderung, Sie können jedoch die Auswahl einer beliebigen Anzahl von Zellen / Auswahlen auf einmal aufheben (anstatt nur die Auswahl der aktiven Zelle oder des aktiven Bereichs aufzuheben).
Ich veröffentliche das Skript hier mit einer kleinen Verbesserung der Benutzerfreundlichkeit (die redundante erste Eingabeaufforderung wurde aus dem ursprünglichen Beitrag bedingt entfernt):
Sub DeselectCells()
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim result As Range
xTitleId = "Deselect Cells"
Set InputRng = Application.Selection
If InputRng.Count <= 1 Then
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
End If
Set DeleteRng = Application.InputBox("Delete Range", xTitleId, Type:=8)
For Each rng In InputRng
If Application.Intersect(rng, DeleteRng) Is Nothing Then
If result Is Nothing Then
Set result = rng
Else
Set result = Application.Union(result, rng)
End If
End If
Next
result.Select
End Sub
Um es zu nutzen, können Sie eine Auswahl zu treffen, rufen Sie das DeselectCells
Makro (die eine Verknüpfung in Ihrer persönlichen Makro - Buch und zugeordnet gespeichert ist am besten werden) , und die Zellen ausgewählt werden , de im Popup ausgewählt , die angezeigt wird :
UnSelectActiveCell
schneller machen können, wenn Sie durch Bereiche vereinen und nur durch die Zellen schleifen, wennNot Intersect(Area,ActiveCell) Is Nothing
. Dies ist möglicherweise nicht der Fall, wenn dieIntersect
Funktion so viel langsamer als dieStrComp
Funktion ist, dass die Reduzierung der Anrufe an nicht ausgeglichen werden kannUnion
.