我只是从Excel VBA开始,老实说,我也不擅长使用普通Excel。
我在C列中有一个具有唯一代码的工作表,在A列中也有另一个具有唯一代码的工作表(第一行除外,因为它们具有列标签)。
如果在工作表2的列中也找到了工作表1中的唯一代码,我希望工作表1中的列J具有该代码值,否则,如果找不到它,我希望它具有#N / A。
通常,在Excel中,我可以通过选择J2并输入以下功能来做到这一点:
=VLOOKUP(C2,Sheet2!A:A,1,False)
然后,我只需双击单元格的一角以填充所有行。
如何在VBA中执行此操作?我编写了这段代码,希望它能做一些事情:
Worksheets("Sheet1").Activate
ActiveSheet.Range("J:J").Value = Application.VLookup(C2,Worksheets("Sheet2").Range("A:A"),1,False)
但是,这不起作用。对于J列中的所有单元格,我只会得到#N / A。有什么建议我可以做什么?
以下代码将为您提供所需的内容。请注意,您只希望将公式放入C
在sheet1的列中实际存在值的行中。
Option Explicit
Sub InsertVlookup()
Dim LastRow As Long
LastRow = Sheet1.Cells(Rows.Count, 3).End(xlUp).Row
With Sheet1.Range("J2:J" & LastRow)
.FormulaR1C1 = "=VLOOKUP(RC[-7],Sheet2!C[-9],1,FALSE)"
.Value = .Value
End With
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句