หนึ่งสามารถเลือกเซลล์ Excel หลายเซลล์ (ต่อเนื่องกันหรือไม่) โดยใช้แป้นพิมพ์ลัดCtrl+ คลิก
คุณยกเลิกการเลือกเซลล์เหล่านี้อย่างน้อยหนึ่งเซลล์ที่เลือกไว้ก่อนหน้านี้อย่างไร
หนึ่งสามารถเลือกเซลล์ Excel หลายเซลล์ (ต่อเนื่องกันหรือไม่) โดยใช้แป้นพิมพ์ลัดCtrl+ คลิก
คุณยกเลิกการเลือกเซลล์เหล่านี้อย่างน้อยหนึ่งเซลล์ที่เลือกไว้ก่อนหน้านี้อย่างไร
คำตอบ:
ด้วยการใช้ 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
deselect
เซลล์ได้ มันไร้สาระอย่างแน่นอน! ฉันเลือกทุกคอลัมน์ที่ 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
มาโคร (ซึ่งเป็นดีที่สุดที่จะได้รับการบันทึกในหนังสือแมโครของคุณส่วนบุคคลและมอบหมายให้ทางลัด) และเลือกเซลล์ที่จะเดเลือกไว้ในป๊อปอัพที่ปรากฏ:
ตอนนี้เป็นไปได้ที่จะยกเลิกการเลือกด้วย CTRL เซลล์ที่เลือกโดยไม่ได้ตั้งใจ มันเป็นฟังก์ชั่นใหม่ใน Office 365 หรือเวอร์ชั่นล่าสุด ที่สุด!
UnSelectActiveCell
เร็วขึ้นได้หรือไม่ถ้าคุณรวมกลุ่มตามช่วงและวนรอบเซลล์Not Intersect(Area,ActiveCell) Is Nothing
เท่านั้น มันอาจจะไม่เป็นกรณีที่ถ้าIntersect
ฟังก์ชั่นมากช้ากว่าฟังก์ชั่นที่จะไม่สามารถชดเชยการลดลงในการเรียกไปยังStrComp
Union