我遇到了很多麻烦。我想在VBA中复制这个值:多个命名范围的最大值
=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3))
我有一个不可能的时间试图完成这件事。
我遇到了很多麻烦。我想在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")
对于结果被放置在F9,请尝试:
Sub Maximal()
Range("F9").Formula = "=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3))"
End Sub
更换ThisWorkbook
如果三个范围在SAM Ë片则:
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
内'MAX'功能是冗余的,因此相当于将' “= MAX(Named_Range1,Named_Range2,Named_Range3)”' – BrakNicku