Excel 求助:VBA求满足条件的最大值怎么写

 我来答
用Excel释放你的活力
2016-12-26 · TA获得超过1279个赞
知道小有建树答主
回答量:795
采纳率:86%
帮助的人:369万
展开全部
Sub maxx()
Dim i As Integer, max As Currency
max = Cells(1, 2)
For i = 1 To 20
If Cells(i, 1) > max Then
max = Cells(i, 1).Value
End If
Next
MsgBox "最大值是" & max
End Sub

楼上的建立字典来查询,把简单的问题搞复杂了。而且占用内存,运行效率会下降。
空哥加油站
2019-11-13
知道答主
回答量:22
采纳率:0%
帮助的人:9225
展开全部

例:求A列中小于1500的最大值,用Application.Evaluate 方法,调用Excel数组函数:

Sub max()
Dim max_if
 max_if = Application.Evaluate("MAX(if((A:A<1500),A:A))")
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BAIXINGR

2016-12-26 · TA获得超过3万个赞
知道大有可为答主
回答量:2.9万
采纳率:89%
帮助的人:8848万
展开全部
Sub lqxs()
Dim Arr, i&, d
Set d = CreateObject("Scripting.Dictionary")
Sheet1.Activate
Arr = [a1].CurrentRegion
For i = 2 To UBound(Arr)
If Not d.exists(Arr(i, 2)) Then
d(Arr(i, 2)) = Arr(i, 3)
Else
If d(Arr(i, 2)) < Arr(i, 3) Then d(Arr(i, 2)) = Arr(i, 3)
End If
Next
[f2].Resize(d.Count, 1) = Application.Transpose(d.keys)
[g2].Resize(d.Count, 1) = Application.Transpose(d.items)
End Sub
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式