在工作簿中使用variables的Excel VBA活动不起作用(dynamic获取活动工作簿名称)
嗨,我正在创buildvba项目,我需要从一个工作簿切换到另一个我需要dynamic活动工作簿名称
所以我想使用这个代码,在这里我得到错误“脚本超出范围”
Dim wb wb = ActiveWorkbook.FullName wb = Split(wb, "\")(UBound(Split(wb, "\"))) Workbooks("wb").Activate
但是当我更改dynamic工作簿的dynamic名称为静态..此代码工作…
Dim wb Workbooks("project1.xlsm").Activate
请帮助家伙..因为我需要活动工作簿的dynamic名称…
您现有的代码中的错误是由您尝试使用String
文字"wb"
而不是variableswb
。 所以以下应该工作:
Dim wb As String wb = ActiveWorkbook.FullName wb = Split(wb, "\")(UBound(Split(wb, "\"))) Workbooks(wb).Activate
但是,使用FullName
然后剥离path组件与使用Name
属性没有什么不同:
Dim wb As String wb = ActiveWorkbook.Name Workbooks(wb).Activate
但是最好只创build一个Workbook
对象并直接使用它:
Dim wb As Workbook Set wb = ActiveWorkbook wb.Activate
注意:使用Activate
和Select
是很有必要的。 没有看到你的下面的代码很难帮助你很好的代码,但也许是这样的:
Dim wb As Workbook Set wb = ActiveWorkbook wb.Worksheets("Sheet1").Range("A1").Value = wb.Worksheets("Sheet1").Range("A2").Value
查看这个问题的答案可能是一个想法。