多个命名范围的最大值
Maximum of Multiple Named Ranges
我在这方面遇到了很多麻烦。我想在 VBA 中复制这个值:
=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3))
我很难完成这件事。
结果要放在F9,请尝试:
Sub Maximal()
Range("F9").Formula = "=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3))"
End Sub
如果您不想将公式放在其中一个单元格中并在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)
如果命名范围在另一个工作簿中,请将 ThisWorkbook
替换为 Workbooks("workbook name")
如果三个范围在同一个sheet则:
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
我在这方面遇到了很多麻烦。我想在 VBA 中复制这个值:
=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3))
我很难完成这件事。
结果要放在F9,请尝试:
Sub Maximal()
Range("F9").Formula = "=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3))"
End Sub
如果您不想将公式放在其中一个单元格中并在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)
如果命名范围在另一个工作簿中,请将 ThisWorkbook
替换为 Workbooks("workbook name")
如果三个范围在同一个sheet则:
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