在另一个工作簿上的单元格中的VBA Excel增量数值?
我正在尝试使用vba将另一个Excel工作簿中的单元格中的数值更新为1。
所以如果我有工作簿2中的值466,那么当我运行我的代码forms工作簿1时,这将更新466到467,并且每次代码运行时,它会增加1。
工作簿通常会被closures,但是我希望它能够工作,无论工作簿是开放的还是closures的,如果有的话。
我想使用下面的代码,但它不更新任何东西,我没有得到任何错误。
请有人能告诉我我做错了什么。 谢谢
Dim ws1112 As Worksheet, ws2221 As Worksheet Set ws1112 = Sheets("Statistics") Set ws2221 = Workbooks("\\UKSH000-File06\Purchasing\New_Supplier_Set_Ups_&_Audits\Workbook 2.xls").Sheets("Dashboard") ws2221.Range("C7").Value = ws2221.Range("C7").Value + 1
现在我要出去,说你的错误是“错误'9,下标超出范围”,但是这个错误在某种程度上被你的代码的其他部分压制或者默默处理(例如On Error GoTo
语句)。
发生这种情况是因为无法通过在Workbooks("<name>")
语句中包含完整的文件path来打开工作簿。 你需要使用Workbooks.Open("<FilePath>")
。
例如:
Dim wb As Workbook Dim ws1112 As Worksheet Dim ws2221 As Worksheet Set ws1112 = Sheets("Statistics") Set wb = Workbooks.Open("\\UKSH000-File06\Purchasing\New_Supplier_Set_Ups_&_Audits\Workbook 2.xls") Set ws2221 = wb.Sheets("Dashboard") ws2221.Range("C7").Value = ws2221.Range("C7").Value + 1 'Optional if you want to close the workbook afterwards wb.Close SaveChanges:=True