vba excel在另一个工作簿的单元格中增加数值?

时间:2014-11-26 14:54:47

标签: excel vba

我正在尝试使用vba将另一个excel工作簿上的单元格中的数字值更新为1.

所以如果我在工作簿2中有值466那么当我运行我的代码表单工作簿1时,这将更新466到467,并且每次运行代码时它会增加1.

工作簿通常会被关闭,但我希望它能够工作,无论工作簿是开放还是关闭,如果这都很重要。

我正在尝试使用以下代码,但它没有更新任何内容,我没有收到任何错误。

请有人告诉我我做错了什么。感谢

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

1 个答案:

答案 0 :(得分:0)

现在我要走出困境说你的错误是"错误' 9',下标超出范围"但是这个错误以某种方式被其他代码抑制或静默处理(例如On Error GoTo语句)。

这是因为您无法通过在Workbooks("<name>")语句中包含完整的文件路径来打开工作簿。您需要使用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