VBA怎么比较3个单元格数值的大小.如果,最大返回2,最小返回0,中间返回1,返回值在别的单元格中输出

要比较的单元格B12,C12,D12。输出的单元格B11,C11,D11,单元格是固定的... 要比较的单元格B12,C12,D12。输出的单元格B11,C11,D11,单元格是固定的 展开
 我来答
Ronnie0812
2012-04-10 · TA获得超过2070个赞
知道小有建树答主
回答量:634
采纳率:66%
帮助的人:344万
展开全部
以下程序可以完成你的功能。
另外,程序可以完成任意个数字的排序序列输出,但前提是数字是输入在B12开始的行
楼上的程序对于3个数字比较固然可行,但是>3个数字以上的排序,用if写代码就会知道痛苦了。
Sub compare()
n = 3 '定义需要比较多少个数字
Dim b()
ReDim b(n)
For i = 1 To n Step 1
b(i) = Cells(12, i + 1)
Next i
'冒泡排序
For j = 1 To n Step 1
For k = 1 To n - j Step 1
If b(k) > b(k + 1) Then
n_temp = b(k + 1)
b(k + 1) = b(k)
b(k) = n_temp
End If
Next k
Next j
'确定序列
q = 1
Do While q <= n
For p = 1 To n Step 1
If Cells(12, q + 1) = b(p) Then
Cells(11, q + 1) = p - 1
Exit For
End If
Next
q = q + 1
Loop
End Sub
追问
如果,想改变的单元格怎么改啊。要在同一行的后边输出。输入B10,C10,D10 输出E10,F10,G10
三三万尺
2012-04-10 · TA获得超过166个赞
知道小有建树答主
回答量:179
采纳率:0%
帮助的人:218万
展开全部
我编程水平很差,编的程序太差,不过还管用,对付能用
Sub 比较大小()
Dim i, j, k
i = Cells(12, 2)
j = Cells(12, 3)
k = Cells(12, 4)
If i > j Then
If i > k Then
Cells(11, 2) = 2
If j > k Then
Cells(11, 3) = 1
Cells(11, 4) = 0
Else
Cells(11, 3) = 0
Cells(11, 4) = 1
End If
Else
Cells(11, 4) = 2
Cells(11, 2) = 1
Cells(11, 3) = 0
End If
Else
If i > k Then
Cells(11, 3) = 2
Cells(11, 2) = 1
Cells(11, 4) = 0
Else
If j > k Then
Cells(11, 3) = 2
Cells(11, 4) = 1
Cells(11, 2) = 0
Else
Cells(11, 4) = 2
Cells(11, 3) = 1
Cells(11, 2) = 0
End If
End If
End If
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lb781201
2012-04-10 · TA获得超过702个赞
知道小有建树答主
回答量:567
采纳率:50%
帮助的人:138万
展开全部
在b11中输入公式:=SUMPRODUCT(($B$12:$D$12<B12)*($B$12:$D$12<B12))或=RANK(B12,$B$12:$D$12,1)-1,然后将公式向右拉到d11就行了啊,不用写vba,如果多几个数比较,将公式里面的数据范围改一下就行了啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
方秋梵玉006
2012-04-10 · TA获得超过148个赞
知道答主
回答量:44
采纳率:0%
帮助的人:53.2万
展开全部
比较3个数的
Sub cc()
arr = Range("b12:d12")
arr_max = Application.Max(arr)
arr_min = Application.Min(arr)

For i% = 1 To 3
If arr(1, i) = arr_max Then
arr(1, i) = 2
ElseIf arr(1, i) = arr_min Then
arr(1, i) = 0
Else
arr(1, i) = 1
End If
Next
[b11].Resize(1, 3) = arr
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式