Excel VBA:如何在忽略错误单元格的同时查找范围的最大值/最小值

时间:2022-09-26 21:45:46

How can I use VBA in Excel to determine the max/min of a range that contains error cells such as #N/A or empty cells? I know this is a fairly easy task to conquer with Excel array formulas using something like
=MIN(IF(A1:A10="#N/A"))

如何在Excel中使用VBA来确定包含错误单元格(例如#N / A或空单元格)的范围的最大/最小值?我知道使用类似= MIN(IF(A1:A10 =“#N / A”))的Excel数组公式来征服这是一项相当容易的任务。

but I would very much like to accomplish this using VBA.

但我非常希望使用VBA来实现这一目标。

I'm dealing with several thousand lines of data so the speediest solution would be preferred.

我正在处理数千行数据,因此最快的解决方案将是首选。

Thank you so much!

非常感谢!

1 个解决方案

#1


13  

You can use Evaluate or the shortcut [] to return the VBA equivalent of a formula

您可以使用Evaluate或快捷方式[]返回公式的VBA等效项

So the Excel array formula
=MIN(IF(NOT(ISNA(A1:A10)),A1:A10)) can be used in code like

所以Excel数组公式= MIN(IF(NOT(ISNA(A1:A10)),A1:A10))可以在代码中使用

Sub Test()
MsgBox [MIN(IF(NOT(ISNA(A1:A10)),A1:A10))]
End Sub

#1


13  

You can use Evaluate or the shortcut [] to return the VBA equivalent of a formula

您可以使用Evaluate或快捷方式[]返回公式的VBA等效项

So the Excel array formula
=MIN(IF(NOT(ISNA(A1:A10)),A1:A10)) can be used in code like

所以Excel数组公式= MIN(IF(NOT(ISNA(A1:A10)),A1:A10))可以在代码中使用

Sub Test()
MsgBox [MIN(IF(NOT(ISNA(A1:A10)),A1:A10))]
End Sub