[英]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.