繁体   English   中英

在VBA,Excel中使用查阅

[英]using Lookup in VBA,Excel

我有两个工作表sheet1和sheet2。

Sheet1有27列,sheet2有10列,

我正在工作表1的J列中查找ID,并在工作表2的g列中需要相应的日期。

我需要将该相应的日期打印在工作表1的AA栏中。

我正在使用以下belo VBA,它正在打印由G列插入的工作表2的D列。

这是公式

= IFERROR(!VLOOKUP(J2; SHEET2 $ A:$ L; 7; 0); “”)

我不想使用,记录宏功能。 请帮助我更正代码。

 Sub lookup()

Dim totalrows As Long
Dim totalcolumn As Long
Dim rng As Range
Dim rng1 As Range
Dim i As Long

totalrows = ActiveSheet.UsedRange.Rows.Count

For i = 2 To totalrows

Sheets("Sheet1").Select

Set rng = Sheets("Sheet2").UsedRange.Find(Cells(i, 10).Value)

If Not rng Is Nothing Then

Cells(i, 27).Value = rng.Value

End If

Next i

End Sub

除了FOR循环,您可以使用:

Sheets("Sheet1").Range("AA2:AA" & totalrows).Formula = Application.WorksheetFunction.IfError(Application.VLookup(Sheets("Sheet1").Range("J2:J15"), Sheets("Sheet2").Range("$A:$L"), 7, 0), "")

编辑:_____________________________________________________________________________

Sub lookup()
    Dim totalrows As Long, totalrowsSht2 As Long
    totalrows = Sheets("Sheet1").Cells(Rows.Count, "A").End(xlUp).Row
    totalrowsSht2 = Sheets("Sheet2").Cells(Rows.Count, "A").End(xlUp).Row
    Sheets("Sheet1").Range("AA2:AA" & totalrows).Formula = Application.WorksheetFunction.IfError(Application.VLookup(Sheets("Sheet1").Range("J2:J" & totalrowsSht2), Sheets("Sheet2").Range("$A:$L"), 7, 0), "")
End Sub

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM