我发现以下代码的范围是最大值:
Cells(Count, 4)=Application.WorksheetFunction.Max(Range(Cells(m, 1),Cells(n, 1)))
如何在特定表格内搜索?在这种情况下,Data
表
喜欢:
Worksheets(d).Cells(x, 4).Value = Worksheets("Data")... ????? FIND MAX ????
答案 0 :(得分:6)
这通常有效,但缺少参考:
worksheets("Data").Cells(Count, 4)= Application.WorksheetFunction.Max _
( worksheets("Data").range( cells(m,1) ,cells(n,1) )
文本" cell"应该在引用单元格所在的工作表之前,我会写这个:
worksheets("Data").Cells(Count, 4) = Application.WorksheetFunction.Max _
( worksheets("Data").range( worksheets("Data").cells(m,1) ,worksheets("Data").cells(n,1) )
这也可以这样写得更清楚:
with worksheets("Data")
.Cells(Count, 4) = Application.WorksheetFunction.Max _
( .range( .cells(m,1) ,.cells(n,1) )
End With
我希望这会有所帮助。
哈维
答案 1 :(得分:3)
您可以将任何有效的excel单元格引用作为字符串传递给range方法。
Application.WorksheetFunction.Max(range("Data!A1:A7"))
在你的情况下,请像这样使用它,在你的范围的边缘定义两个单元格:
Application.WorksheetFunction.Max _
(range(worksheets("Data").cells(m,1),worksheets("Data").cells(n,1)))
答案 2 :(得分:0)
如果要快速处理数百万个电池以找到MAX / MIN,则需要较重的机械。这段代码比Application.WorksheetFunction.Max
更快。
Function Max(ParamArray values() As Variant) As Variant
Dim maxValue, Value As Variant
maxValue = values(0)
For Each Value In values
If Value > maxValue Then maxValue = Value
Next
Max = maxValue
End Function
Function Min(ParamArray values() As Variant) As Variant
Dim minValue, Value As Variant
minValue = values(0)
For Each Value In values
If Value < minValue Then minValue = Value
Next
Min = minValue
End Function
从这里被盗:https://www.mrexcel.com/forum/excel-questions/132404-max-min-vba.html