我有一些代码用于通过一些VBA脚本在另一个工作表中找到一个按钮,如果按钮文本包含“隐藏所有行”,则执行代码,否则执行其他代码。
if语句工作并识别按钮文本,但它似乎不想识别targetworkbook中的宏名称。我收到错误'找不到具有指定名称的项目'
我检查了targetworkbook宏名称是否正确, 代码在下面,我在这里做错了吗?
Sub MapValues(targetworkbook As Workbook, TargetSheet As Worksheet)
Dim shp as shape
Set shp = TargetSheet.Shapes("Button13" & TargetSheet.Name)
With targetworkbook
If shp.TextFrame.Characters.Text = "Hide All Rows" Then
targetworkbook.Application.Run "'" & targetworkbook.Name & "'!showAllRows"
Else
targetworkbook.Application.Run "'" & targetworkbook.Name & "!hideAllRows"
targetworkbook.Application.Run "'" & targetworkbook.Name & "!showAllRows"
End If
End With
End Sub()
答案 0 :(得分:0)
看起来问题在于文本“Button13”。仔细检查它是不是真的像“按钮13”。最简单的方法是使用即时窗口类型
?sheet1.Shapes(1).name
继续2,3,4等等,直到得到你的名字。