Поиск связанного диапазона для числа между двумя значениями (vba, Excel)

Я изучаю vba, и у меня есть таблица excel, которая выглядит так:

Range |max | min| discount%

R1    |0   |   9|         0                                                      
R2    |10  |  19|        10                   
R3    |20  | 100|        20                                                                        

На другом листе Excel у меня есть купленное количество полей, из которого я хочу получить диапазон из этой таблицы.

E.g

if qty = 6 then R1, if qty = 56 then R3 

и так далее

Обычно это не так сложно с vlookup, когда моя таблица статична. Моя проблема в том, что количество диапазонов может меняться (из-за написанного мной макроса). Здесь 3 диапазона, но у нас может быть больше или меньше диапазонов с разными значениями. Может кто-нибудь помочь?


person user3111363    schedule 10.03.2014    source источник
comment
Опубликуйте код, который вы пробовали.   -  person ARich    schedule 10.03.2014
comment
Вы все еще можете использовать vlookup, если отсортируете свою таблицу поиска.   -  person Tim Williams    schedule 10.03.2014


Ответы (1)


Когда вы пытаетесь оценить несколько вещей, вы можете использовать «И» в VBA. Как и в версии Excel, оба выражения должны возвращать значение true, чтобы вы могли получить истинный ответ.

Это должно заставить вас двигаться в правильном направлении,

Основная логика

а = б : а равно б

a ‹= b : a меньше или равно b

a >= b : a больше или равно b

a ‹ b : a меньше b

а > b : а больше, чем b

a ‹> b : a не равно b

Sub ranger()

If Range("A1") > 1 And Range("A1") < 3 Then
MsgBox True
Else
MsgBox False
End If

End Sub

Поместите 2 в ячейку A1

person Robomato    schedule 10.03.2014
comment
Большое спасибо, я знал, что это просто, но я думаю, что мой разум был перегружен в конце дня. Я применил ваш код с некоторыми изменениями к моему vba. Спасибо ;^) - person user3111363; 11.03.2014
comment
Пожалуйста, отметьте завершенным, если вы удовлетворены ответом :) - person Robomato; 25.03.2014