web-dev-qa-db-ja.com

キーボードショートカットを使用してExcel Cellの選択を解除する方法

キーボードショートカットを使用して、複数のExcelセルを選択することができます(連続的にもそうでなくても)。 Ctrl+クリック.

これらの以前に選択したセルの1つ以上をどのように選択解除しますか?

13
ahmednabil88

ShiftキーやCtrlキーを使って、連続していない範囲を選択できます。ただし、誤ってセルまたは領域を選択した場合、選択範囲全体を失うことなく最初からやり直すことなく、選択範囲からそれらを削除する方法は組み込まれていません。 このページ は、現在の選択からアクティブセルまたはアクティブセルを含む領域を削除する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
5
duDE

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マクロ(個人用マクロブックに保存してショートカットに割り当てるのが最善です)を呼び出し、セルをdeに選択します。表示されるポップアップで選択します。

Deselect cells

2
Giovanni

誤って選択されたセルをCTRLで選択解除することが可能になりました。これは、Office 365または最近のバージョンに新しく組み込まれた機能です。最後に!

1
Steve