Excel隐藏textArea

时间:2013-03-31 11:55:25

标签: excel

我想要做的是,当我点击特定的Excel文本区域时,它会立即隐藏它。

我试过这个=>

Sub ZoneTexte2_Cliquer()
   ActiveSheet.Shapes("ZoneTexte2").Visible = False
End Sub

但我在VBA脚本中并不了解太多东西。

2 个答案:

答案 0 :(得分:1)

如果您使用"分配宏"分配了宏。形状的菜单项,那么你的代码几乎是正确的。

尝试ActiveSheet.Shapes(Application.Caller).Visible = False

可以将其用作所有形状点击事件的通用处理程序,假设您首先将其分配给所有形状。

如果您想直接使用他们的名字,您可能需要使用以下内容来获取正确的名称以供日后使用。

msgbox Prompt:=ActiveSheet.Shapes(Application.Caller).Name

如果您在宏中单击具有该代码的形状,它将显示一个包含其正确名称的消息框,对于文本区域形状,它通常是"文本框N" (空间和大写很重要)

答案 1 :(得分:1)

一些vba ...

Public OrigColumn As Integer
Public OrigRow   As Integer
Public OrigValue As String
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Cells.Count = 1 Then

    If OrigColumn = 0 And OrigRow = 0 And OrigValue = "" Then
        ' first time usage, there is no history selection...
    Else
        ' show the original value when enter out the cell
        Cells(OrigRow, OrigColumn).Value = OrigValue
    End If

    OrigColumn = Target.Column
    OrigRow = Target.Row
    OrigValue = Target.Value

    Target.Value = Null
  End If
End Sub