จะยกเลิกการเลือกเซลล์ Excel โดยใช้แป้นพิมพ์ลัดได้อย่างไร


14

หนึ่งสามารถเลือกเซลล์ Excel หลายเซลล์ (ต่อเนื่องกันหรือไม่) โดยใช้แป้นพิมพ์ลัดCtrl+ คลิก

คุณยกเลิกการเลือกเซลล์เหล่านี้อย่างน้อยหนึ่งเซลล์ที่เลือกไว้ก่อนหน้านี้อย่างไร

คำตอบ:


5

ด้วยการใช้ SHIFT และ / หรือปุ่ม CTRL คุณสามารถเลือกช่วงที่ไม่ต่อเนื่องกันได้ อย่างไรก็ตามหากคุณเลือกเซลล์หรือพื้นที่โดยไม่ได้ตั้งใจจะไม่มีวิธีการลบเซลล์นั้นออกจากส่วนที่เลือกโดยไม่สูญเสียการเลือกทั้งหมดและต้องเริ่มต้นใหม่ หน้านี้อธิบายถึงขั้นตอน VBA, UnSelectActiveCell และ UnSelectCurrentArea ที่จะลบ Active Cell หรือพื้นที่ที่มี Active Cell ออกจากตัวเลือกปัจจุบัน เซลล์อื่น ๆ ทั้งหมดในส่วนที่เลือกจะยังคงถูกเลือก

ทางออกที่ดีที่สุดของคุณคือการเพิ่มสิ่งเหล่านี้ลงในสมุดงานแมโครส่วนบุคคลของคุณเพื่อให้สามารถใช้ได้กับสมุดงานที่เปิดอยู่ทั้งหมดใน Excel

ขั้นตอนนี้จะลบเซลล์ที่ใช้งานจากการเลือก

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

ขั้นตอนนี้จะลบพื้นที่ที่มีเซลล์ที่ใช้งานอยู่ออกจากส่วนที่เลือก

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

1
ฉันสงสัยว่าคุณสามารถทำให้UnSelectActiveCellเร็วขึ้นได้หรือไม่ถ้าคุณรวมกลุ่มตามช่วงและวนรอบเซลล์Not Intersect(Area,ActiveCell) Is Nothingเท่านั้น มันอาจจะไม่เป็นกรณีที่ถ้าIntersectฟังก์ชั่นมากช้ากว่าฟังก์ชั่นที่จะไม่สามารถชดเชยการลดลงในการเรียกไปยังStrComp Union
Engineer Toast

1
พระเจ้าเก่งมาก ๆ เลยฮ่า ๆ
codyc4321

เป็นกรณีนี้หรือไม่? ฉันไม่สามารถใช้ชีวิตให้ฉันค้นหาdeselectเซลล์ได้ มันไร้สาระอย่างแน่นอน! ฉันเลือกทุกคอลัมน์ที่ 2 และหากฉันทำผิดฉันต้องเริ่มใหม่หรือไม่ นั่นคือ% & * ที่เสียสติ!
pookie

2

เป็นวิธีที่มีประสิทธิภาพมากขึ้นสำหรับการยกเลิกการเลือกหลายเซลล์ที่อธิบายไว้ในนี้บทความ ExtendOffice มันมีพรอมต์พิเศษ แต่คุณสามารถยกเลิกการเลือกจำนวนเซลล์ / การเลือกได้ในคราวเดียว (แทนที่จะยกเลิกการเลือกเฉพาะเซลล์หรือพื้นที่ที่ใช้งานอยู่)

ฉันโพสต์สคริปต์ที่นี่ด้วยการปรับปรุงการใช้งานขนาดเล็ก (ลบพร้อมท์แรกซ้ำซ้อนตามเงื่อนไขจากโพสต์ต้นฉบับ):

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

ที่จะใช้มันให้คุณเลือกเรียกDeselectCellsมาโคร (ซึ่งเป็นดีที่สุดที่จะได้รับการบันทึกในหนังสือแมโครของคุณส่วนบุคคลและมอบหมายให้ทางลัด) และเลือกเซลล์ที่จะเดเลือกไว้ในป๊อปอัพที่ปรากฏ:

ยกเลิกการเลือกเซลล์


หาดีคำตอบที่ดี
Burgi

1

ตอนนี้เป็นไปได้ที่จะยกเลิกการเลือกด้วย CTRL เซลล์ที่เลือกโดยไม่ได้ตั้งใจ มันเป็นฟังก์ชั่นใหม่ใน Office 365 หรือเวอร์ชั่นล่าสุด ที่สุด!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.