Excel 使用VBA使用End(xlUp)创建动态公式
我正在尝试使用VBA在一系列单元格中放置公式。我已经写了一个公式来做这件事,它工作得很好,但是,我希望这个公式是动态的。公式搜索的数据范围是可变的 我想使用End(xlUp)来确定范围。我的代码如下:Excel 使用VBA使用End(xlUp)创建动态公式,excel,vba,excel-formula,Excel,Vba,Excel Formula,我正在尝试使用VBA在一系列单元格中放置公式。我已经写了一个公式来做这件事,它工作得很好,但是,我希望这个公式是动态的。公式搜索的数据范围是可变的 我想使用End(xlUp)来确定范围。我的代码如下: Range("P43").FormulaArray = "=IFERROR(INDEX(Input Tigerlijst!$A$2:$A$247,MATCH(1,--(SEARCH(TRANSPOSE(Input Tigerlijst!$A$2:$A$247),O43)>0),0),0),"
Range("P43").FormulaArray = "=IFERROR(INDEX(Input Tigerlijst!$A$2:$A$247,MATCH(1,--(SEARCH(TRANSPOSE(Input Tigerlijst!$A$2:$A$247),O43)>0),0),0),"""")"
我认为解决办法是:
Range("P43").FormulaArray = "=IFERROR(INDEX(Input Tigerlijst!$A$2:*LastRow*,MATCH(1,--(SEARCH(TRANSPOSE(Input Tigerlijst!$A$2:*LastRow*),O43)>0),0),0),"""")"
我已经搜索和尝试了几个小时,非常感谢您的帮助 “=IFERROR(索引(输入TIGERLIST!$A$2:$A$247,匹配(1,--(搜索(转置(输入TIGERLIST!$A$2:$A$247),O43)>0),0),”)”
可以写成
"=IFERROR(INDEX(Input Tigerlijst!$A$2:$A$" & _
LastRow & _
",MATCH(1,--(SEARCH(TRANSPOSE(Input Tigerlijst!$A$2:$A$" & _
LastRow & _
"),O43)>0),0),0),"""")"`
“=IFERROR(索引(输入Tigerlijst!$A$2:$A$”&“247”&),匹配(1,--(搜索(转置(输入Tigerlijst!$A$2:$A$”&“247”&”),O43)>0),0),0),””
还是为了澄清
"=IFERROR(INDEX(Input Tigerlijst!$A$2:$A$" & _
"247" & _
",MATCH(1,--(SEARCH(TRANSPOSE(Input Tigerlijst!$A$2:$A$" & _
"247" & _
"),O43)>0),0),0),"""")"`
最终可以写成
"=IFERROR(INDEX(Input Tigerlijst!$A$2:$A$" & _
LastRow & _
",MATCH(1,--(SEARCH(TRANSPOSE(Input Tigerlijst!$A$2:$A$" & _
LastRow & _
"),O43)>0),0),0),"""")"`
使用
*LastRow*
代替“&LastRow&”
我在这篇文章中只使用LastRow来强调LastRow。放置&LastRow&不起作用。是的,你必须找到最后一行,如图所示。谢谢,但我知道LastRow是如何工作的,但是当我测试它时,将LastRow这样放置在公式中是不起作用的,因为你不需要只使用最后一行。您还需要列地址。例如,$A$2:*LastRow*
应该是$A$2:$A$”&LastRow&