为什么我不能用这两种方式定义工作簿? (我在那里有范围位只是为了快速测试。)我该如何修复它?
这会产生一个"Compile Error: Type Mismatch"
Sub Setwbk()
Dim wbk As Workbook
Set wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _
Master Benchmark Data Sheet.xlsx"
Range("A2") = wbk.Name
End Sub
这创建了一个"Runtime Error '91': Object variable or with block variable not set"
Sub Setwbk()
Dim wbk As Workbook
wbk = "F:\Quarterly Reports\2012 Reports\New Reports\ _
Master Benchmark Data Sheet.xlsx"
Range("A2") = wbk.Name
End Sub
我在这里缺少什么?我已经在 VBA 上苦苦钻研了一个月,已经相当成熟了,但这让我难住了。我缺少一些基本的东西。
我只想定义一个工作簿,这样我就不必将其全部输入!
这实际上是一个明智的问题。以下是 Excel 2010 帮助中的答案:
“Workbook 对象是 Workbooks 集合的成员。Workbooks 集合包含当前在 Microsoft Excel 中打开的所有 Workbook 对象。”
因此,由于该工作簿未打开(至少我认为它没有打开),因此无法将其设置为工作簿对象。如果它是打开的,你只需将其设置为:
Set wbk = workbooks("Master Benchmark Data Sheet.xlsx")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)