【发布时间】:2023-01-23 15:58:54
【问题描述】:
使用当前工作表(和当前工作簿)的值,我想在另一个工作簿中搜索,找到该值并更新属于该值的库存(将数字加在一起)。
我的代码:(下标超出范围错误)
Sub Upload()
Workbooks.Open "P:\Engineering\Stock Management\EngineerBookingSystem.xlsm"
cProd = Sheet1.Range("D6")
CAdd = Sheet1.Range("F6")
Dim wkb As Excel.Workbook
Dim wks As Excel.Worksheet
Set wkb = Excel.Workbooks("EngineerBookingSystem.xlsm")
Set wks = wkb.Worksheets("Sheet9")
LastRow = wks.Range(wks.Cells(Rows.Count, 1)).End(xlUp).Row
For i = 2 To LastRow
If wks.Range(wks.Cells(i, 1)) = cProd Then
'found it
wks.Range(wks.Cells(i, 3)) = wks.Range(wks.Cells(i, 3)) + CAdd
End If
Next i
End Sub
我尝试了 YouTube 视频、Stack Overflow 问答,无论我尝试什么错误。
【问题讨论】:
-
对于初学者,将
Workbooks.Open "P:\Engineering\Stock Management\EngineerBookingSystem.xlsm"更改为Set wkb = Workbooks.Open ("P:\Engineering\Stock Management\EngineerBookingSystem.xlsm")。 -
将
wks.Range(wks.Cells(i, 1))更改为wks.Cells(i, 1)。wks.Range(wks.Cells(i, 3))也是如此。 -
欣赏这些!但是,当我做出适当的更改时,它甚至在运行之前就出错了……