【发布时间】:2020-04-03 13:15:06
【问题描述】:
我得到:
需要运行时错误“424”对象
这是我用来将一个范围的值复制到另一个范围的代码。请让我知道最后一行中的相同问题。我认为当我尝试创建一个单元格范围和一个偏移的单元格时,问题就出现了
num_lines = 4
Set ws = Sheets("Working BoM")
Set ws_ref = Sheets("BoM")
For i = 1 To num_lines
match_value = Sheets("Line Info").Range("C" & Trim(Str(i))).Value
match_range = ws_ref.Range("A2:Y2")
bom_pos = Application.WorksheetFunction.Match(match_value, match_range, 0)
bom_cell = ws_ref.Range(ws_ref.Cells(2, bom_pos).Address)
ref_cell = ws.Range(ws.Cells(1, 4 * (i - 1) + 1).Address)
num_rows = ws_ref.Range("A2").Offset(0, bom_pos - 1).End(xlDown).Row - 1
ws_ref.Range(bom_cell, bom_cell.Offset(num_rows, 2)).Copy _
Destination:=ws.Range(ref_cell, ref_cell.Offset(num_rows, 2))
Next i
【问题讨论】:
-
bom_cell是一个字符串,一个范围的地址。它不是一个范围,也不是一个单元格。因此bom_cell.Offset(num_rows, 2)失败。 -
你能发布你的样本数据然后解释你想做什么吗?这将使您更容易找到解决方案