我试图在2张表中VLOOKUP一些值,如果找到值,那么我在Sheet 1单元格上放置一个超链接,将其指向Sheet 2单元格 .
我已经写了相同的Excel公式,它工作正常 . 但我无法将其转换为VBA公式 . 我究竟做错了什么?
Excel公式: =IF(ISERROR(VLOOKUP(RC[7],Sheet2!R1C1:R20C1,1,FALSE)),RC[7],HYPERLINK(CELL("address",INDEX(Sheet2!R1C1:R20C1,MATCH(RC[7],Sheet2!R1C1:R20C1,0))),RC[7]))
我试过的VBA公式:
Sheets(4).Formula = "= IF(ISERROR(VLOOKUP(RC[7],Sheet2!R4C2:R" & Lrow2 & "C2,1,FALSE)),RC[7],HYPERLINK(CELL(" & """address""" & ",INDEX(Sheet2!R4C2:" & "R" & Lrow2 & "C2,MATCH(RC[7],Sheet2!R4C2:" & "R" & Lrow2 & "C2,0))),RC[7]))"
P.S . :不要担心行和列索引 . 我为测试文件编写了公式,并为主文件编写了vba .
2 回答
你做的只是一个小错误 .
Sheets(4).Formula = ""
表示在sheet4上应用的公式 . 逻辑表单4具有近百万行 . 公式在哪里?这是我刚刚为sumif写了几分钟的一个例子
除了范围之外,如果要使用R1C1引用,还需要使用
.FormulaR1C1
属性: