Как найти номер строки максимальных данных и установить в 0 - PullRequest
0 голосов
/ 19 сентября 2019

Я использую vba, чтобы найти максимальное число и соответствующую строку для списка.После нахождения максимального числа максимальное число будет установлено равным нулю.

a   0.695115507
b   0.980003238
c   0.243931353
d   0.533873081
e   0.106369674
f   0.999414563
g   0.676175892
h   0.015703917
i   0.575183809
j   0.100052238
k   0.103022635
l   0.798884392
m   0.284480274
n   0.045649171
o   0.295772851
p   0.382010698
q   0.300970495
r   0.948571086

Name for max    Max number  
#VALUE!        0.999414563

код:

For k = 25 To 42
Range("D45").Value = WorksheetFunction.Max(Range("D" & 25 & ":" & "D" & 42))

WorksheetFunction.Max(Range("D" & 25 & ":" & "D" & 42)).Value = 0
end k

Ответы [ 2 ]

1 голос
/ 19 сентября 2019

Можно попробовать это также:

MaxNo = WorksheetFunction.Max(Range("D25:D42"))
Rmax = WorksheetFunction.Match(MaxNo, Range("D25:D42"), 0)
Cells(Rmax, 1).Value = 0
0 голосов
/ 19 сентября 2019

Вы можете использовать ниже, будет делать работу.

Sub test()

Dim MaxVal As Single
Dim MaxValRow As Integer

MaxVal = CDec(Cells(1, 1).Value)

For k = 1 To 18
    If MaxVal < CDec(Cells(k + 1, 1).Value) Then
        MaxVal = CDec(Cells(k + 1, 1))
        MaxValRow = k + 1
    End If
Next k

Cells(MaxValRow, 1).Value = 0

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...