本帖最后由 JackLei 于 2023-3-8 16:32 编辑
vba数组方法,随便用用吧,你后面提交的那个问题可以在里面改改,一样的原理,不管格式咋变,都通用
[Visual Basic] 纯文本查看 复制代码 Sub test()
Dim i, j, k, arr, brr
arr = Range("A1").CurrentRegion
k = Cells(Rows.Count, "A").End(xlUp).Row
ReDim brr(1 To k, 1 To 1)
For i = 1 To k
If arr(i, 1) > arr(i, 2) And arr(i, 1) > arr(i, 3) Then
brr(i, 1) = arr(i, 1)
ElseIf arr(i, 2) > arr(i, 1) And arr(i, 2) > arr(i, 3) Then
brr(i, 1) = arr(i, 2)
Else
brr(i, 1) = arr(i, 3)
End If
Next
Range("D1").Resize(k, 1) = brr
j = 1
Do While Range("A" & j) <> ""
aa = Range("A" & j)
bb = Range("B" & j)
cc = Range("C" & j)
dd = Range("D" & j)
If dd = aa Then
Range("D" & j).Interior.Color = Range("a" & j).Interior.Color
ElseIf dd = bb Then
Range("D" & j).Interior.Color = Range("b" & j).Interior.Color
Else
Range("D" & j).Interior.Color = Range("c" & j).Interior.Color
End If
j = j + 1
Loop
End Sub |