我可以隐藏/显示所选单元格周围的黑色边框吗?

时间:2012-07-25 01:40:23

标签: excel vba excel-vba

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

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

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

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

现在,由于VBA可以选择每个单元格,无论是锁定还是解锁,该矩形光标随处可见。

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

5 个答案:

答案 0 :(得分:1)

添加以下代码:

Worksheets("sheet1").EnableSelection = xlNoSelection

答案 1 :(得分: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

无论使用何种方法,您仍然会在当前单元格中出现细黑线。

答案 2 :(得分:0)

无法实际隐藏矩形。

答案 3 :(得分:-1)

1)隐藏列

2)移至A1

答案 4 :(得分:-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