Я работаю над функцией потери VBA, которая читает 11-ю строку другого листа и находит минимальное значение в строке.
Однако абсолютное значение минимума должно быть меньше 100. (В строке отображаются и проценты, и обычные значения, а мне нужен только минимальный процент.)
Кроме того, когда у меня есть значение минимального значения в 11-й строке, я хочу присвоить значение ячейки прямо над переменной, благодаря функции Worst.
Вот то, что я имею до сих пор, благодаря помощи ответов на предыдущий вопрос, который я задал:
Function Loss(worksheet1 As Worksheet) As Double
Dim min As Double
Dim i As Integer
Dim myRight As Long, Colcount As Long
min = 100
With worksheet1
myRight = .Cells(1, .Columns.Count).End(xlToLeft).Column
For Colcount = 4 To myRight
If (.Cells(11, Colcount).Value < min) And (Abs(.Cells(11, Colcount).Value) <= 100) Then
min = .Cells(11, Colcount).Value
End If
Next Colcount
End With
Loss = min
End Function
Function Worst(worksheet1 As Worksheet) As String
Dim min As Double
Dim i As Integer
Dim myRight As Long, Colcount As Long
min = 100
With worksheet1
myRight = .Cells(1, .Columns.Count).End(xlToLeft).Column
For Colcount = 4 To myRight
If (.Cells(11, Colcount).Value < min) And (Abs(.Cells(11, Colcount).Value) <= 100) Then
min = .Cells(11, Colcount).Value
Worst = .Cells(10, Colcount).Value
End If
Next Colcount
End With
End Function