0

如果我们使用功能区 UI 保护工作表,并且如果每个单元格都被锁定或未启用任何选择,则矩形光标会消失。

但由于我有一些单元格与用户交互,我不会锁定每个单元格。现在矩形只出现在未锁定的单元格上。

由于我必须使这些锁定的单元格可由 VBA 选择,因此添加了以下代码:

Worksheets("sheet1").Protect Password:="******", _
    UserInterfaceOnly:=True

现在,由于 VBA 可以选择每个单元格,无论锁定或解锁,矩形光标无处不在。

现在我希望隐藏那个矩形本身;可能吗?

4

5 回答 5

1

添加这段代码:

Worksheets("sheet1").EnableSelection = xlNoSelection
于 2012-07-25T04:25:23.290 回答
0

我不能让它完全消失,但我可以很好地隐藏它。我从评论中注意到您突出显示了当前单元格,因此添加到该突出显示的这段代码应该有助于隐藏光标:

' Code generated by record macro, and not tidied up
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlThick
End With
With Selection.Borders(xlEdgeTop)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlThick
End With
With Selection.Borders(xlEdgeBottom)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlThick
End With
With Selection.Borders(xlEdgeRight)
    .LineStyle = xlContinuous
    .ColorIndex = xlAutomatic
    .TintAndShade = 0
    .Weight = xlThick
End With
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

这将把边框变成黑色,当单元格被选中时它会变成白色(带有非常细的黑色轮廓)。

另一种方法是将所有单元格更改为具有灰色粗轮廓,因此在选中该框时它将具有相同的颜色轮廓。以编程方式,对代码的更改将是删除 colorindex 行,并添加

    .ThemeColor = 1

取而代之,并将 TintAndShade 行更改为:

    .TintAndShade = -0.5

无论使用哪种方法,您仍然会在当前单元格中看到一条细黑线。

于 2012-07-25T14:43:05.340 回答
0

没有办法真正隐藏矩形。

于 2017-06-22T20:16:13.590 回答
-1

1) 隐藏一列

2) 移动到 A1

于 2015-05-18T15:07:08.003 回答
-2

我不知道这是谁写的,所以我可以给予信任,但它似乎有效。

Private Declare Function ShowCursor Lib "USER32" _ 
(ByVal fShow As Integer) As Integer 

Sub hide() 
    While ShowCursor(False) >= 0 
    Wend 
End Sub 

Sub show() 
    While ShowCursor(True) < 0 
    Wend 
End Sub 
于 2015-09-08T10:17:05.763 回答