Беда со сравнением - PullRequest
       2

Беда со сравнением

0 голосов
/ 30 апреля 2019

Я пытаюсь сравнить входные данные моей пользовательской формы со столбцом чисел в Excel; найдите число, на которое входная информация моей пользовательской формы меньше или равно, и присвойте переменной значение ячейки рядом с ячейкой, с которой она сравнивалась (т. е. если значение Input меньше или равно A2, тогда переменная устанавливается равной B20) Когда я делаю это, он дает мне последнее значение в столбце B, независимо от того, меньше ли значение Input, чем столбец A.

Я пробовал Exit For после If Then, но это просто останавливает его после первой итерации.

Private Sub CommandButton2_Click()
Dim TextBox5 As Integer
If UserForm1.OptionButtonRes.Value = True Then
        Dim i As Integer
        For i = 1 To 216 Step 1
            If Sheet2.Cells(i, 1).Value >= TextBox5 Then
            ValueCharge = Sheet2.Cells(i, 2).Value
            End If
        Next i
End If
MsgBox (ValueCharge)

1 Ответ

1 голос
/ 30 апреля 2019

TextBox5 - это только текст, который выглядит как число. Вам необходимо преобразовать в истинное числовое значение для правильного сравнения.

    For i = 1 To 216 Step 1
        If Sheet2.Cells(i, 1).Value >= val(TextBox5) Then
            ValueCharge = Sheet2.Cells(i, 2).Value
            Exit For
        End If
    Next i
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...