簡體   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