Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поиск наименьшего числа от заданного - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск наименьшего числа от заданного (Макросы/Sub)
Поиск наименьшего числа от заданного
Bregra Дата: Вторник, 18.04.2017, 10:58 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Добрый день,

Подскажите, пжл, как лучше написать макрос, кроме перебора ничего не получается придумать. Задача такая: Есть набор чисел: 5, 10, 15, 20, 25, 30, 35. И есть число, которое задается, например 12. Нужно из диапозона выбрать число, которое будет наибольшим после заданного. В данном случае ответ будет 10. Если заданное число будет 19, то ответ 15. Спасибо.
 
Ответить
СообщениеДобрый день,

Подскажите, пжл, как лучше написать макрос, кроме перебора ничего не получается придумать. Задача такая: Есть набор чисел: 5, 10, 15, 20, 25, 30, 35. И есть число, которое задается, например 12. Нужно из диапозона выбрать число, которое будет наибольшим после заданного. В данном случае ответ будет 10. Если заданное число будет 19, то ответ 15. Спасибо.

Автор - Bregra
Дата добавления - 18.04.2017 в 10:58
_Boroda_ Дата: Вторник, 18.04.2017, 11:06 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Сами в макрос засунете? А может, формулой тоже подойдет?
Код
=ВПР(F19;E19:E25;1)

в E19:E25 Ваш массив
Код
=ВПР(F19;{5:10:15:20:25:30:35};1)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСами в макрос засунете? А может, формулой тоже подойдет?
Код
=ВПР(F19;E19:E25;1)

в E19:E25 Ваш массив
Код
=ВПР(F19;{5:10:15:20:25:30:35};1)

Автор - _Boroda_
Дата добавления - 18.04.2017 в 11:06
Bregra Дата: Вторник, 18.04.2017, 11:18 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Спасибо. Формула работает отлично, но можно ли все это сделать в самом макросе? Например, можно ли записать массив Array(5, 10, 15, 20, 25, 30, 35) и применить к ней формулу ВПР, без испоьзования листов экселя?
 
Ответить
СообщениеСпасибо. Формула работает отлично, но можно ли все это сделать в самом макросе? Например, можно ли записать массив Array(5, 10, 15, 20, 25, 30, 35) и применить к ней формулу ВПР, без испоьзования листов экселя?

Автор - Bregra
Дата добавления - 18.04.2017 в 11:18
_Boroda_ Дата: Вторник, 18.04.2017, 11:21 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так хотите?
[vba]
Код
Sub tt()
    Dim ar(6, 0)
    n_ = 5
    For i = 0 To UBound(ar)
        ar(i, 0) = n_ * (i + 1)
    Next i
    x_ = CInt(InputBox("Введи число от " & n_ * (LBound(ar) + 1) & " до " & n_ * (UBound(ar) + 1)))
    MsgBox "Ответ: " & WorksheetFunction.VLookup(x_, ar, 1, True)
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак хотите?
[vba]
Код
Sub tt()
    Dim ar(6, 0)
    n_ = 5
    For i = 0 To UBound(ar)
        ar(i, 0) = n_ * (i + 1)
    Next i
    x_ = CInt(InputBox("Введи число от " & n_ * (LBound(ar) + 1) & " до " & n_ * (UBound(ar) + 1)))
    MsgBox "Ответ: " & WorksheetFunction.VLookup(x_, ar, 1, True)
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 18.04.2017 в 11:21
Bregra Дата: Вторник, 18.04.2017, 11:33 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 30
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Спасибо. Отлично получилось.
 
Ответить
СообщениеСпасибо. Отлично получилось.

Автор - Bregra
Дата добавления - 18.04.2017 в 11:33
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Поиск наименьшего числа от заданного (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!