【发布时间】:2017-11-30 08:04:31
【问题描述】:
我对 VBA 很陌生,我有一个公式,我想在宏中使用它。
我使用宏录制来获得 vba,但问题是它为每一行生成,使 vba 代码复杂。此外,它在公式栏中显示公式。 我有两张表格,表格 1(BW)和表格 2(CW)。我想要工作表 1 中的代码。它在工作表 2 中查找 ID 并将值从 Ad 复制到工作表 1 的 Au。
我已经尝试过,在某种程度上将我的公式实现为代码。
=IF(IFERROR(VLOOKUP($B2;CW!$B$2:$AU591;30;FALSE);"0")=0;" ";IFERROR(VLOOKUP($B2;CW!$B$2: $AU591;30;FALSE);""))
Sub lookupo()
Dim totalrows As Long
Dim totalrowssh2 As Long
totalrows = Sheets("BW").Cells(Rows.Count, "A").End(xlUp).Row
totalrowsSht2 = Sheets("CW").Cells(Rows.Count, "A").End(xlUp).Row
sheets("BW").Range("AD2:AD" & Totalrows).formula = Application.WorksheetFunction.If(Iferror(Apllication.Vlookup(sheets("BW").Range("B2:B" &totalrowssht2), Sheets("CW").Range("$A:$AU"),29,False),"0"))=0,"")
End Sub
我很惊讶我应该如何实现第二个公式。有人可以帮助我克服 VBA 代码。
【问题讨论】:
-
除了 Siddharth 所说的之外,我还要补充一点,一致的拼写在编码中至关重要:
totalrowssh2/totalrowsSht2。每个模块顶部的Option Explicit指出了这些错误。