У меня много проблем с этим. Я хочу реплицировать это значение в 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)
Если именованные диапазоны в другой книге, замените ThisWorkbook
с Workbooks("workbook name")
Для результата быть помещены в F9, пожалуйста, попробуйте:
Sub Maximal()
Range("F9").Formula = "=MAX(MAX(Named_Range1),MAX(Named_Range2),MAX(Named_Range3))"
End Sub
Если три диапазона находятся в Сэме е лист затем:
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