Selection.clear不会取消选择

时间:2013-10-30 06:36:46

标签: excel vba selection

每当用户启动“MyMacro”时,我想清除取消选择当前选择。

我正在使用以下代码:

Sub MyMacro()

    If Not IsSheetExists("Memory") Then
        Worksheets.Add(After:=Worksheets(Worksheets.Count)).name = "Memory"
    End If

    Sheets("Memory").Visible = xlSheetVisible 'change to xlSheetVeryHidden
    ActiveWorkbook.Sheets("Sheet1").Activate

    ClearAllSheets

    '......
End Sub

Sub ClearAllSheets()
    For Each sh In ActiveWorkbook.Sheets
        sh.Cells.Clear
        sh.Buttons.Delete
        Selection.Clear
    Next sh
End Sub

为什么不Selection.Clear 清除取消选择当前选择?

4 个答案:

答案 0 :(得分:2)

好的,

.Clear用于清除单元格/范围内的内容(和格式),但不能取消选择

因此,当您使用Selection.Clear时,没有任何反应

正如您所提到的,为什么不选择虚拟单元?

答案 1 :(得分:1)

Selection.Clear不起作用,因为您没有任何选定的范围。

如果你这样编码:

sh.Cells.Select
Selection.Clear

然后它可能会起作用。
但最好不要使用Select

<强>更新 加上这个:

Dim rng as range

Set rng = Selection

或在你的情况下:

set rng = sh.Application.Selection

然后执行:

Selection.Clear.

它将清除当前选定的范围。

答案 2 :(得分:0)

试试这个

Selection.ClearContents

答案 3 :(得分:-1)

尝试

Application.CutCopyMode = False

对我有用

最诚挚的问候