ใช้รูปร่างเพื่อเน้นการเลือก
หมายเหตุ: ใช้งานได้เฉพาะเมื่อสลับไปที่หน้าต่าง Excel อื่น คุณสามารถเปิดหน้าต่าง Excel ที่ว่างเปล่าและสลับไปที่หน้าต่างนี้ก่อนที่จะสลับไปยังแอปพลิเคชันอื่นเพื่อคงการเน้นไว้
เพียงเพิ่มสิ่งนี้ลงใน ThisWorkbookcode (สมุดงานของคุณไม่ใช่รหัสชีตของคุณ) สิ่งนี้จะใช้ได้กับทุกแผ่นงานในสมุดงานของคุณ
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
DeleteSelectionHighlight
End Sub
Private Sub Workbook_WindowActivate(ByVal Wn As Window)
DeleteSelectionHighlight
End Sub
Private Sub Workbook_WindowDeactivate(ByVal Wn As Window)
On Error Resume Next
Dim shp As Shape
Application.ScreenUpdating = False
Set shp = ActiveSheet.Shapes("SelectionHighlight")
If Err.Number <> 0 Then
Set shp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, 1, 1, 1, 1)
With shp 'Format shape to your preference
.Name = "SelectionHighlight"
.Line.ForeColor.RGB = RGB(226, 0, 0) ' Border color
.Line.Weight = 1.5
.Line.DashStyle = msoLineSolid
.Fill.Visible = msoFalse 'No background
'.Fill.ForeColor.RGB = RGB(0, 153, 0) 'Background color
'.Fill.Transparency = 0.95 'Background transparency
End With
End If
Dim oldZoom As Integer
oldZoom = Wn.Zoom
Wn.Zoom = 100 'Set zoom at 100% to avoid positioning errors
With shp
.Top = Wn.Selection.Top 'Tweak the offset to fit your desired line weight
.Left = Wn.Selection.Left 'Tweak the offset to fit your desired line weight
.Height = Wn.Selection.Height
.Width = Wn.Selection.Width
End With
Wn.Zoom = oldZoom 'Restore previous zoom
Application.ScreenUpdating = True
End Sub
Private Sub DeleteSelectionHighlight()
On Error Resume Next
Dim shp As Shape
Set shp = ActiveSheet.Shapes("SelectionHighlight")
shp.Delete
End Sub
คุณสามารถจัดรูปแบบรูปร่างตามที่คุณต้องการโดยปรับแต่งรหัส
ข้อดีคือ:
- คุณจะไม่สูญเสียการจัดรูปแบบดั้งเดิมของคุณเมื่อ excel ขัดข้องของคุณมีพลังงานขัดข้อง
- คุณจะไม่สูญเสียการจัดรูปแบบดั้งเดิมของคุณเมื่อใช้ CTRL + [จากสมุดงานอื่นที่เปลี่ยนแผ่นงานที่ใช้งานอยู่
- คุณจะไม่สูญเสียไฮไลต์เมื่อทำการเปลี่ยนแปลงกับหน้าต่าง excel อื่น ๆ เมื่อเทียบกับโซลูชัน CTRL + C