VBA错误91 – 无法设置我的范围

我已经完成了我非常粗略的代码,但是我正在优化它。

我已经定义了我的工作表,但现在我需要定义我的2个范围,rngTo和rngFrom。 rngTo设置没有问题,但rngFrom抛出一个错误91,我不明白为什么。 它应该与另一个不同? 下面是我认为是相关的代码的一部分,但可能有一些昏暗的不在这个快照中使用:

Sub Worksheet_UpdateAllItemCostData() Dim material As Variant Dim fndEntry, rngTo, rngFrom As Range Dim wb1 As Workbook, wb2 As Workbook Dim wsTo, wsFrom As Worksheet Dim lr As Long, I As Long, J As Long Const sPOS As String = "Pos. " Application.Calculation = xlCalculationManual ' Disable Application.ScreenUpdating = False Application.DisplayAlerts = False Set wb1 = ThisWorkbook Set wsTo = wb1.Sheets("Sagsnr.") wsTo.Rows("1:1").Hidden = False lr = wb1.Sheets("Sagsnr.").Cells(Rows.Count, "C").End(xlUp).Row If lr < 21 Then Exit Sub End If Set wb2 = Workbooks.Open(Filename:="G:\Backoffice\Tilbudsteam\Kostdatabase\Matcost.xls", ReadOnly:=True) Set wsFrom = wb2.Sheets("Matcost") For I = 21 To lr material = wsTo.Range("C" & I).Value Set fndEntry = wsFrom.UsedRange.Columns(4).Find(What:=material) Set rngTo = wsTo.Range("A" & I) Set rngFrom = wsFrom.Range("A" & fndEntry.Row) If Not fndEntry Is Nothing Then rngTo(, "B") = rngFrom(, "H") End If Next I wb2.Close wsTo.Rows("1:1").Hidden = True Application.Calculation = xlCalculationAutomatic 'Enable Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub 

更改:

  Set rngTo = wsTo.Range("A" & I) Set rngFrom = wsFrom.Range("A" & fndEntry.Row) If Not fndEntry Is Nothing Then rngTo(, "B") = rngFrom(, "H") End If 

至:

  If Not fndEntry Is Nothing Then Set rngTo = wsTo.Range("A" & I) Set rngFrom = wsFrom.Range("A" & fndEntry.Row) rngTo.Offset(0, 1) = rngFrom.Offset(0, 7) End If