【发布时间】:2017-07-20 08:54:07
【问题描述】:
我有两张床单。 Sheet1 :上周,sheet2 :本周。
我正在使用 sheet1 在 sheet2 的 A 列中查找我的 ID,如果它们匹配,我会将 sheet1 的 M 列中的值复制到 sheet2 的 M 列。
由于某种原因,我在 sheet1 中找不到的值被填充为“0”。我不希望这种情况发生,我的代码。我只想让代码查找 ID,如果它们匹配我想要的值,否则我不想打印任何东西。
有人可以建议我哪里出错了吗?
Sub lookup()
Dim tr As Long
Dim trsh As Long
tr = Sheets("ThisWeek").Cells(Rows.Count, "A").End(xlUp).Row
trsh = Sheets("ThisWeek").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("ThisWeek").Range("M2:M" & tr).Formula = Application.WorksheetFunction.IfError(Application.VLookup(Sheets("ThisWeek").Range("A2:A" & trsh), Sheets("LastWeek").Range("$A:$P"), 13, 0), "")
End Sub
【问题讨论】:
-
tr和trsh都指的是Sheets("ThisWeek").Cells(Rows.Count, "A").End(xlUp).Row -
是的,错了?
-
@Mrig 我怎样才能摆脱它?
-
您能否发布示例数据,以便这里的人们可以重现该问题。
-
@Mrig 我尝试只使用 tr 并且在这种情况下我也得到了 0,我也尝试使用 Tr 作为 Sheets("ThisWeek").Cells(Rows.Count, "A").End(xlUp).Row 和 trsh as Sheets("LastWeek").Cells(Rows.Count, "A").End(xlUp).Row 我仍然得到错误