繁体   English   中英

由于公式中的撇号,无法在 VBA 中使用 INDIRECT 公式

[英]Unable to use INDIRECT formula in VBA due to apostrophe in formula

我正在尝试在 VBA 中编写以下公式,但是,由于该公式包含撇号,因此撇号后面的部分被注释掉。 有人可以帮忙吗?

Dim LastcolGen As Long, lastrowfilter As Long 

Range(Cells(6, 10), Cells(lastrowfilter, LastcolGen)).Formula = _
 "IF(J$4="FactTrancheValue",INDEX(INDIRECT(J$4),ROW()-4,MATCH(J$5,INDIRECT("'"&J$4&"'!"&"A1:JJ1"),0)),INDEX(INDIRECT(J$4),MATCH(INDIRECT(J$3&ROW()),INDIRECT("'"&J$4&"'!"&"A1:A999999"),0),MATCH(J$5,INDIRECT("'"&J$4&"'!"&"A1:JJ1"),0)))" 
Range(Cells(6, 10), Cells(lastrowfilter, LastcolGen)).Select 
Selection.Copy 
Selection.PasteSpecial Paste:=xlPasteValues

谢谢, AB

试试这个(未经测试)

Range(Cells(6, 10), Cells(lastrowfilter, LastcolGen)).Formula = _
    "=IF(J$4=""FactTrancheValue"",INDEX(INDIRECT(J$4)," & _
    "ROW()-4,MATCH(J$5,INDIRECT(""'""&J$4&""'!""&""A1:JJ1""),0))," & _
    "INDEX(INDIRECT(J$4),MATCH(INDIRECT(J$3&ROW())," & _
    "INDIRECT(""'""&J$4&""'!""&""A1:A999999""),0)," & _
    "MATCH(J$5,INDIRECT(""'""&J$4&""'!""&""A1:JJ1""),0)))"

(根据您的更新编辑)

将该公式设置为单个单元格时,VBA 没有错误(尽管公式本身返回#REF!)

如果这不起作用,请确保您的Range()引用是正确的。

暂无
暂无

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

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