Klavye kısayolunu Ctrl+ Tıklama'yı kullanarak birden fazla Excel hücresi (bitişik olarak veya değil) seçilebilir .
Önceden seçilen bu hücrelerin bir veya daha fazlasının seçimini nasıl kaldırırsınız?
Klavye kısayolunu Ctrl+ Tıklama'yı kullanarak birden fazla Excel hücresi (bitişik olarak veya değil) seçilebilir .
Önceden seçilen bu hücrelerin bir veya daha fazlasının seçimini nasıl kaldırırsınız?
Yanıtlar:
ÜST KARAKTER ve / veya CTRL tuşlarını kullanarak bitişik olmayan aralıkları seçebilirsiniz. Ancak, yanlışlıkla bir hücre veya alanı seçerseniz, tüm seçimi kaybetmeden ve baştan başlamak zorunda kalmadan seçimden kaldırmanın yerleşik bir yolu yoktur. Bu sayfada , Etkin Hücreyi veya Etkin Hücreyi içeren Alanı geçerli seçimden kaldıracak VBA yordamları, UnSelectActiveCell ve UnSelectCurrentArea açıklanmaktadır. Seçimdeki diğer tüm hücreler seçili kalacaktır.
En iyi seçeneğiniz, bunları Excel'deki tüm açık çalışma kitaplarında kullanılabilmeleri için Kişisel Makro çalışma kitabınıza eklemek olacaktır.
Bu prosedür, Etkin Hücreyi Seçimden kaldıracaktır .
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
Bu yordam, Etkin Hücreyi içeren Alanı Seçimden kaldıracaktır.
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
bir hücreye nasıl ulaşacağımı bulamıyorum . Kesinlikle çok saçma! Her 2 sütunu seçiyorum ve bir hata yaparsam baştan başlamam gerekir mi? Bu% & * deli oluyor!
Birden çok hücrenin seçimini kaldırmanın daha sağlam bir yolu bu ExtendOffice makalesinde açıklanmaktadır . Fazladan bir istem içerir, ancak aynı anda rastgele sayıda hücrenin / seçimin seçimini kaldırabilirsiniz (yalnızca etkin hücrenin veya alanın seçimini kaldırmak yerine)
Komut dosyasını burada, küçük bir kullanılabilirlik iyileştirmesi ile gönderiyorum (koşullu olarak orijinal ilkinden gereksiz ilk istemi kaldırıldı):
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
, Sen çağırmak, bir seçim yapmak Kullanmak için DeselectCells
(Kişisel makro kitapta kaydedilir ve bir kısayol atanacak en iyisidir) makro ve hücreleri seçmek üzere de açılır göründüğünü seçilen:
UnSelectActiveCell
aralıkları ile sendika eğer daha hızlı yapabilir ve sadece eğer hücreler arasında döngü merak ediyorumNot Intersect(Area,ActiveCell) Is Nothing
. Eğer durum olmayabilirIntersect
fonksiyonu çok daha yavaş olduğunuStrComp
işlevin o çağrıları azalmayı dengelemek olamazUnion
.