標題:
[發問]
如何用VBA找出對應欄的值?
[打印本頁]
作者:
smart3135
時間:
2017-8-8 18:44
標題:
如何用VBA找出對應欄的值?
本帖最後由 smart3135 於 2017-8-8 18:45 編輯
想請教一下,如表格,我想要在A2到E2這個範圍中找出最大值對應首列的文字
A3到E3找出最大值對應首列的文字,以此類推
例如:A2到E2最大值為5,那對應的就是機器5
A3到E3最大值為55,那對應的就是機器1
A4到E4最大值為555,那對應的就是機器3
然後把對應的結果在I欄顯示,請教一下VBA應該怎麼寫呢?
[attach]27597[/attach]
作者:
准提部林
時間:
2017-8-9 10:23
用公式可以嗎?
有問題, 最好上傳檔案~~~
作者:
Kubi
時間:
2017-8-9 10:51
回復
1#
smart3135
請參考
[attach]27599[/attach]
作者:
ikboy
時間:
2017-8-9 12:47
回復
1#
smart3135
=INDIRECT("R1" & "C" & MATCH(MAX(A2:E2),A2:E2,0),0)
作者:
ikboy
時間:
2017-8-9 13:17
Macro
Sub test()
Dim arr, n%, m%, a()
er = [A65536].End(3).Row
arr = [a1].Resize(er, 5).Value
ReDim a(1 To er, 1 To 1)
For i = 2 To er
n = arr(i, 1): m = 1
For j = 2 To 5
If arr(i, j) > n Then n = arr(i, j): m = j
Next
a(i, 1) = arr(1, m)
Next
[i1].Resize(er) = a
End Sub
複製代碼
Sub newdata()
Dim ar
er = [A65536].End(3).Row
ReDim ar(1 To er, 1 To 5)
[a2].Resize(er, 9).ClearContents
For i = 1 To er
For j = 1 To 5
ar(i, j) = Int(Rnd * 1000) + 1
Next
Next
[a2].Resize(er, 5) = ar
End Sub
複製代碼
作者:
smart3135
時間:
2017-8-9 19:15
回復 smart3135
請參考
Kubi 發表於 2017-8-9 10:51
感謝大大的幫忙,完全符合我想要的結果,不好意思,忘了放檔案上來了
想再請教另一個問題,A欄有50和100兩種數字,B欄則是英文字
若我想當A欄和B欄同時重覆的值都一起清除內容,又該怎麼寫程式碼呢?
例如A1+B1和A3+B3兩個完全相同,就清除其中一個的值(清除A1+B1或A3+B3)
A8+B8和A9+B9兩個完全相同,就清除其中一個的值(清除A8+B8或A9+B9),以此類推
我有試著用For next同時執行雙迴圈去寫,但總是寫不出我要的結果,懇請再次幫忙
[attach]27609[/attach]
作者:
Kubi
時間:
2017-8-10 15:13
回復
6#
smart3135
請參考
[attach]27610[/attach]
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)