vba - 使用文件名之间有空格的工作簿引用 workbooks()
问题描述
我使用同时打开的多个工作簿来跟踪我写的文章。两个工作簿都有各自的宏和编辑其数据的用户表单,其中一个具有无模式的用户表单。如何确保无模式用户窗体在正确的工作簿上进行更改。我试过引用 Workbooks("Published Articles Tracker v3.0.xlsm").Sheets(Sheet2).Activate,但它总是返回错误。我想继续使用 workbooks() 方法引用我的工作簿,但我认为问题在于我的文件名的格式,但如果可能的话,我想保持这种方式。有什么想法吗?
解决方案
使用变量来指向您的工作簿和工作表 - 如果必须更改名称,它会更快、更易于阅读,并且更改的痛苦更少。
Global ThatWorkbook as Workbook
'NB ThisWorkbook is predefined by VB to refer to whichever
'workbook is hosting the code
Sub Disambiguate()
dim wb as workbook
for each wb in workbooks
if wb.name =""Published Articles Tracker v3.0.xlsm" then
Set ThatWorkbook = wb
Exit For
End If
Next ws
If ThatWorkbook is Nothing then
MSGBOX "File Not Found",vbOkOnly,"No Workbook"
End IF
End sub
推荐阅读
- r - 在 ggplot2 中编辑条形图
- git - @Jupyterlab/git - 无法克隆存储库
- excel - 以动态方式应用 VbColor 属性
- vue.js - q-stepper header-nav 仅在出现一个 q-step 时将自身向右对齐
- python - Pycharm jupyter-notebook 改变编码风格
- java - 如何发送数据java和html
- c# - 获取 WPF 中特定 DataGridTemplateColumn 的更新值
- python - 在 PYGAME 中单击图像时如何移动图像?
- citrus-framework - 如何为 citrus-http:client 标签动态参数化 citrus-context.xml 中的 request-url?
- xslt - 带有分隔符的字符串上的 XSLT 调用模板