簡體   English   中英

VBA,使用查找時出錯

[英]VBA, error while using lookup

我有兩個Sheets BW和PSW。

使用BW,數據從第4行開始。以上3行已合並,並且我在其中有一些命令按鈕。 表格PSW從第一行開始。

我正在尋找工作表1中的ID,該ID從L5開始,當ID在工作表2中匹配時,它將日期從工作表2拉到工作表1。 我正在使用以下代碼。 該代碼未執行任何輸出。 誰能說出我在哪里犯錯。

我想在下一行中,范圍從A開始,並且由於我的數據從row5開始,因此它不計數。 如果是這種情況,那么我應該如何更改范圍。 如果我的數據以沒有任何命令按鈕的row1開頭,則我正在運行此代碼。

totalrows = Sheets(“ BW”)。Cells(Rows.Count,“ A”)。End(xlUp).Row

Sub lookupePSR()
Dim totalrows As Long, totalrowsSht2 As Long
totalrows = Sheets("PSW").Cells(Rows.Count, "A").End(xlUp).Row
totalrowsSht2 = Sheets("PSW").Cells(Rows.Count, "A").End(xlUp).Row
Sheets("PSW").Range("AA5:AA" & totalrows).Formula = Application.WorksheetFunction.IfError(Application.VLookup(Sheets("PSW").Range("L5:L" & totalrowsSht2), Sheets("PSW").Range("$A:$L"), 7, 0), "")
End Sub

如評論中所述,將實際公式放入工作表中。 (可選)還原為公式返回的值。

with Sheets("PSW").Range("AA5:AA" & totalrows)
    .Formula = "=iferror(vlookup(l5, $a:$g, 7, false), text(,))"
    'optionally revert the formulas' returned values to values in cells
    .value = .value
end with

TEXT(,)""相同; 即長度為零的字符串。 我之所以使用它,是因為當在帶引號的字符串(如上面的公式)中使用時,您必須將雙引號加倍(例如""變成"""" ),這會引起混淆。

由於您只在查找范圍中的第七列,因此將您的查找范圍縮小為A:G。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM