Bagaimana membatalkan sel Excel menggunakan Pintasan Keyboard?

14

Seseorang dapat memilih beberapa sel Excel (baik secara bersebelahan atau tidak) menggunakan pintasan keyboard Ctrl+ Klik.

Bagaimana Anda membatalkan pilihan satu atau beberapa sel yang sebelumnya dipilih ini?

ahmednabil88
sumber

Jawaban:

5

Dengan menggunakan SHIFT dan / atau tombol CTRL Anda dapat memilih rentang yang tidak berdekatan. Namun, jika Anda memilih sel atau area secara tidak sengaja, tidak ada cara untuk menghapusnya dari seleksi tanpa kehilangan seluruh pilihan dan harus memulai dari awal. Halaman ini menjelaskan prosedur VBA, UnSelectActiveCell, dan UnSelectCurrentArea yang akan menghapus Sel Aktif atau Area yang mengandung Sel Aktif dari pilihan saat ini. Semua sel lain dalam Seleksi akan tetap dipilih.

Taruhan terbaik Anda adalah menambahkannya ke buku kerja Makro Pribadi Anda sehingga tersedia untuk semua buku kerja terbuka di Excel.

Prosedur ini akan menghapus Sel Aktif dari Seleksi .

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

Prosedur ini akan menghapus Area yang mengandung Sel Aktif dari Seleksi.

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
duDE
sumber
1
Saya bertanya-tanya apakah Anda dapat membuat UnSelectActiveCelllebih cepat jika Anda menyatukan dengan rentang dan hanya loop melalui sel jika Not Intersect(Area,ActiveCell) Is Nothing. Mungkin tidak demikian halnya jika Intersectfungsinya jauh lebih lambat daripada StrCompfungsinya sehingga tidak bisa mengimbangi pengurangan panggilan Union.
Engineer Toast
1
Tuhan unggul sangat tua lol
codyc4321
Apakah ini masih terjadi? Saya tidak bisa seumur hidup mencari tahu bagaimana deselectcara sel. Benar-benar konyol! Saya memilih setiap kolom ke-2 dan jika saya membuat kesalahan, saya harus memulai dari awal? Itu gila!
pookie
2

Cara yang lebih kuat untuk membatalkan pilihan beberapa sel dijelaskan dalam artikel ExtendOffice ini . Itu memang termasuk prompt tambahan, tetapi Anda dapat membatalkan pilihan sel / pilihan yang sewenang-wenang sekaligus (bukan hanya memilih sel atau area aktif)

Saya memposting skrip di sini, dengan sedikit peningkatan kegunaan (dengan syarat menghapus prompt pertama yang redundan dari posting asli):

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

Untuk menggunakannya, Anda membuat pilihan, memohon DeselectCellsmakro (yang terbaik yang akan disimpan dalam buku makro Pribadi dan ditugaskan untuk jalan pintas) dan pilih sel yang akan de dipilih dalam popup yang muncul:

Batalkan pemilihan sel

Giovanni
sumber
Nice menemukan, jawaban yang bagus.
Burgi
1

Sekarang dimungkinkan untuk membatalkan sel dengan CTRL yang dipilih secara tidak sengaja. Ini adalah fungsi bawaan baru di Office 365 atau versi terbaru. Akhirnya!

Steve
sumber