我想要做的是,当我点击特定的Excel文本区域时,它会立即隐藏它。
我试过这个=>
Sub ZoneTexte2_Cliquer()
ActiveSheet.Shapes("ZoneTexte2").Visible = False
End Sub
但我在VBA脚本中并不了解太多东西。
答案 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