0
我有包含式相当多的细胞,然后用VBA这个公式的结果为变量的值,如下所示:Excel公式内VBA
在片在细胞AS4
:
=SUMPRODUCT(MAX((ROW($AE$4:$AE$997))*($AE$4:$AE$997<>"")))
,然后在我的VBA:
numRows = ws.Range("AS4").Value
然而,这开始变得难以跟踪哪些细胞是喂养哪个变量,避免覆盖这些细胞的表通过对事故等
我需要能够在VBA中执行此计算,如果我可以,删除在我的工作表上有“计算单元格”的需要。
我发现有一种方法可以使用公式与WorksheetFunction
,但只发现这个简单的例子,并不能适应我的情况。
numRows = WorksheetFunction.SumProduct(MAX((ROW($AE$4:$AE$997))*($AE$4:$AE$997<>"")))
是行不通的......
有没有办法做到这一点,还是我更好用报废的配方和使用纯VBA方法的想法?
您可以使用评价函数'numRows行=评估(“= SUMPRODUCT(MAX((ROW($ AE $ 4:$ AE $ 997))*($ AE $ 4:$ AE $ 997 <>“”)))“)' – SJR
谢谢,虽然我得到了'类型不匹配',但我认为这不是预期的数值在'numRows'中,这是一个'Long'变量。我如何从中获得价值? – Aurelius
对不起,您需要将内部报价加倍[numRows = Evaluate(“= SUMPRODUCT(MAX((ROW($ AE $ 4:$ AE $ 997))*($ AE $ 4:$ AE $ 997 <>”“ “”)))“)' – SJR