我有几个宏需要使用文件名,所以当文件名更改时都要更改它们,这有点麻烦。我希望能够输入它一次,并在任何地方更新。我试过了,但在"Windows“呼叫器上失败了。
Global thisfilename As String
Sub setfilename()
thisfilename = ThisWorkbook.Name
MsgBox thisfilename
End Sub这就是它失败的地方
Sub Copy70io()
'
' copychart Macro
'
Windows("thisfilename").Activate我确信我的错误很简单,但除了Google,我没有编程经验,我也没有办法解决这个问题。
谢谢
发布于 2015-09-28 19:34:21
因为变量在引号内,所以会出现错误。引号中的任何内容都被认为是字符串:)
尝尝这个
Windows(thisfilename).ActivateFindWindow还为您提供了一个替代方案。
我就是这样做的..。
与其使用全局变量,不如将代码转换为函数。下面是一个例子
Function wb() As Workbook
Set wb = ThisWorkbook
End Function然后你可以用它作为
Sub Copy70io()
wb.Activate
End Sub另一个例子
Function wb() As Workbook
Set wb = Workbooks("Blah Blah")
End Function
Sub Copy70io()
wb.Activate
End Subhttps://stackoverflow.com/questions/32830342
复制相似问题