如何使用键盘快捷键取消选择 Excel 单元格?

如何使用键盘快捷键取消选择 Excel 单元格?

可以使用键盘快捷键Ctrl+Click 选择多个 Excel 单元格(连续或不连续)。

如何取消选择一个或多个先前选择的单元格?

答案1

通过使用 SHIFT 和/或 CTRL 键,您可以选择不连续的范围。但是,如果您错误地选择了一个单元格或区域,则没有内置方法可以将其从选择中删除,而不会丢失整个选择并不得不重新开始。这一页描述 VBA 程序 UnSelectActiveCell 和 UnSelectCurrentArea,它们将从当前选择中删除活动单元格或包含活动单元格的区域。选择中的所有其他单元格仍将保持选中状态。

最好的办法是将它们添加到您的个人宏工作簿中,以便 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

答案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(最好将其保存在个人宏书中并分配给快捷方式),然后选择要在出现的弹出窗口中选择:

取消选择单元格

答案3

现在可以使用 CTRL 取消选择错误选择的单元格。这是 Office 365 或最新版本中的一项新内置功能。终于!

相关内容