vba A1:A10 单元格如果双击时将所有对象名称与单元格的值相同的对象设置为可见,如果没有相同名称的窗格则弹窗提示
时间: 2024-05-07 22:22:03 浏览: 66
以下是实现该功能的 VBA 代码:
```
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim obj As Object
Dim flag As Boolean
'遍历所有对象
For Each obj In Me.OLEObjects
If obj.Name = Target.Value Then
obj.Visible = True
flag = True '表示找到了相同名称的对象
Else
obj.Visible = False
End If
Next obj
'如果没有找到相同名称的对象,则弹出提示框
If Not flag Then
MsgBox "没有找到名称为 " & Target.Value & " 的对象!", vbInformation
End If
Cancel = True '取消默认的双击编辑单元格功能
End Sub
```
将该代码复制到需要实现该功能的工作表的代码窗口中即可。
相关问题
vba A1:A10 单元格如果双击时将窗格名称与单元格的值相同的窗格显示出来,如果没有相同名称的窗格则弹窗提示
可以使用以下VBA代码来实现:
```VBA
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ws As Worksheet
Dim win As Window
Dim winName As String
'获取当前工作表
Set ws = ActiveSheet
'获取双击的单元格
Set Target = Range(Target.Address)
'循环遍历所有窗格
For Each win In Application.Windows
'判断窗格名称是否与单元格的值相同
If win.Caption = Target.Value Then
'如果相同则显示该窗格
win.Visible = True
Cancel = True
Exit Sub
End If
Next win
'如果没有相同名称的窗格,则弹窗提示
MsgBox "没有找到名称为 " & Target.Value & " 的窗格"
End Sub
```
将以上代码复制到工作表的代码模块中,双击 A1:A10 单元格时,如果有窗格名称与单元格的值相同,则显示该窗格;如果没有相同名称的窗格,则弹窗提示。
阅读全文