Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 使用VBA使用End(xlUp)创建动态公式_Excel_Vba_Excel Formula - Fatal编程技术网

Excel 使用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),"

我正在尝试使用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:*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&