多个命名范围的最大值

我遇到了很多麻烦。 我想在VBA中复制这个值:

=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3)) 

我有一个不可能的时间试图做到这一点。

如果您不想将公式放在其中一个单元格中并以VBA代码计算结果,则还可以使用以下代码:

 Dim rng1 As Range, rng2 As Range, rng3 As Range Dim y As Double Set rng1 = ThisWorkbook.Names("Named_Range1").RefersToRange Set rng2 = ThisWorkbook.Names("Named_Range2").RefersToRange Set rng3 = ThisWorkbook.Names("Named_Range3").RefersToRange y = WorksheetFunction.Max(rng1, rng2, rng3) 

如果命名范围在另一个工作簿中,请将Workbooks("workbook name")replace为Workbooks("workbook name")

如果三个范围在同一张纸上,则:

 Sub MaxMax() Dim r As Range Set r = Union(Range(Named_Range1), Range(Named_Range2), Range(Named_Range3)) MsgBox Application.WorksheetFunction.Max(r) End Sub 

要将结果放置在F9中,请尝试:

 Sub Maximal() Range("F9").Formula = "=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3))" End Sub