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

Вход

Регистрация

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

 

= Мир MS Excel/Какой оператор выполняет больше двух условий - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Какой оператор выполняет больше двух условий (Макросы/Sub)
Какой оператор выполняет больше двух условий
Elhust Дата: Пятница, 13.01.2017, 07:24 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 184
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
Добрый день подскажите какой оператор последовательно выполняет одно условие за другим больше двух использую ElseIf выполняет только до 3 условия но 3 уже не выполняет, даже если условия вступает в силу , и подскажите как сделать по строчную проверку условий плииз )
Благодарю
К сообщению приложен файл: 6464628.xls (37.5 Kb)


Каждый сам выбирает правила игры
 
Ответить
СообщениеДобрый день подскажите какой оператор последовательно выполняет одно условие за другим больше двух использую ElseIf выполняет только до 3 условия но 3 уже не выполняет, даже если условия вступает в силу , и подскажите как сделать по строчную проверку условий плииз )
Благодарю

Автор - Elhust
Дата добавления - 13.01.2017 в 07:24
Elhust Дата: Пятница, 13.01.2017, 07:42 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 184
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
If Cells(4, 3) < 0.1 Then
Scorepoint2 = 41
ElseIf 0.1 <= Cells(4, 3) < 0.28 Then
Scorepoint2 = 44
ElseIf 0.28 <= Cells(4, 3) < 0.41 Then
Scorepoint2 = 47
ElseIf 0.41 <= Cells(4, 3) < 0.51 Then
Scorepoint2 = 61
ElseIf 0.51 <= Cells(4, 3) And Cells(4, 3) > 0.51 Then
Scorepoint2 = 72
End If
не работает а как select case сделать я не знаю


Каждый сам выбирает правила игры
 
Ответить
СообщениеIf Cells(4, 3) < 0.1 Then
Scorepoint2 = 41
ElseIf 0.1 <= Cells(4, 3) < 0.28 Then
Scorepoint2 = 44
ElseIf 0.28 <= Cells(4, 3) < 0.41 Then
Scorepoint2 = 47
ElseIf 0.41 <= Cells(4, 3) < 0.51 Then
Scorepoint2 = 61
ElseIf 0.51 <= Cells(4, 3) And Cells(4, 3) > 0.51 Then
Scorepoint2 = 72
End If
не работает а как select case сделать я не знаю

Автор - Elhust
Дата добавления - 13.01.2017 в 07:42
bmv98rus Дата: Пятница, 13.01.2017, 07:46 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4111
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Elhust,
Не замечал такого поведения elseif
[vba]
Код
Sub test()
    If 5 < 1 Then
    
    ElseIf 5 < 2 Then
    
    ElseIf 5 < 3 Then
    
    ElseIf 5 < 4 Then
    
    ElseIf 5 < 5 Then
    
    ElseIf 5 < 6 Then
        Debug.Print 6
    End If
End Sub
[/vba]

прекрасно работает.
но тогда вам [url=https://msdn.microsoft.com/en-us/library/office/gg278665(v=office.15).aspx]сюда[/url] за select CASE видимо
ну или консрукцию удыуша не использовать а просто else : if

Теперь понятно. используйте логический AND или OR типа if 2 > 1 and 2 < 3 then ..
Cells(4, 3) >= 0.1 and Cells(4, 3) < 0.28 .
когда 1< 6 < 5 то логика будет такая 1<6 истина, что равно 1. 1 <5 тоже истина. а значит все истина.


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Пятница, 13.01.2017, 09:49
 
Ответить
СообщениеElhust,
Не замечал такого поведения elseif
[vba]
Код
Sub test()
    If 5 < 1 Then
    
    ElseIf 5 < 2 Then
    
    ElseIf 5 < 3 Then
    
    ElseIf 5 < 4 Then
    
    ElseIf 5 < 5 Then
    
    ElseIf 5 < 6 Then
        Debug.Print 6
    End If
End Sub
[/vba]

прекрасно работает.
но тогда вам [url=https://msdn.microsoft.com/en-us/library/office/gg278665(v=office.15).aspx]сюда[/url] за select CASE видимо
ну или консрукцию удыуша не использовать а просто else : if

Теперь понятно. используйте логический AND или OR типа if 2 > 1 and 2 < 3 then ..
Cells(4, 3) >= 0.1 and Cells(4, 3) < 0.28 .
когда 1< 6 < 5 то логика будет такая 1<6 истина, что равно 1. 1 <5 тоже истина. а значит все истина.

Автор - bmv98rus
Дата добавления - 13.01.2017 в 07:46
Elhust Дата: Пятница, 13.01.2017, 07:52 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 184
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
bmv98rus,
У меня к сожалению доступ закрыт на ссылку..


Каждый сам выбирает правила игры
 
Ответить
Сообщениеbmv98rus,
У меня к сожалению доступ закрыт на ссылку..

Автор - Elhust
Дата добавления - 13.01.2017 в 07:52
Elhust Дата: Пятница, 13.01.2017, 08:05 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 184
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
bmv98rus,
Сорян за беспокойство но мне бы ещё сделать так чтобы он проверял определённое количество строчек или просто до конца листа все строчки ... (


Каждый сам выбирает правила игры
 
Ответить
Сообщениеbmv98rus,
Сорян за беспокойство но мне бы ещё сделать так чтобы он проверял определённое количество строчек или просто до конца листа все строчки ... (

Автор - Elhust
Дата добавления - 13.01.2017 в 08:05
bmv98rus Дата: Пятница, 13.01.2017, 08:09 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4111
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Elhust,
бегу на работу, так что не могу найти ссылку. поишите даже тут . поиск последней ячейки .....


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
СообщениеElhust,
бегу на работу, так что не могу найти ссылку. поишите даже тут . поиск последней ячейки .....

Автор - bmv98rus
Дата добавления - 13.01.2017 в 08:09
Elhust Дата: Пятница, 13.01.2017, 08:18 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 184
Репутация: -1 ±
Замечаний: 0% ±

Excel 2010
bmv98rus,
Акей Благодарность


Каждый сам выбирает правила игры
 
Ответить
Сообщениеbmv98rus,
Акей Благодарность

Автор - Elhust
Дата добавления - 13.01.2017 в 08:18
китин Дата: Пятница, 13.01.2017, 08:21 | Сообщение № 8
Группа: Модераторы
Ранг: Экселист
Сообщений: 7019
Репутация: 1074 ±
Замечаний: 0% ±

Excel 2007;2010;2016


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениеможет это? Как определить последнюю ячейку на листе через VBA?

Автор - китин
Дата добавления - 13.01.2017 в 08:21
K-SerJC Дата: Пятница, 13.01.2017, 08:24 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 487
Репутация: 86 ±
Замечаний: 0% ±

Excel 2013
но мне бы ещё сделать так чтобы он проверял определённое количество строчек или просто до конца листа все строчки

последняя заполненная строка на Лист1
[vba]
Код
lr = ActiveWorkbook.Worksheets("Лист1").Cells.SpecialCells(xlLastCell).Row
[/vba]
далее делаете любой цикл например:
[vba]
Код
for f=1 to lr
' ваш код
next f
[/vba]

p.s. пока писал ответ опередили :-)


Благими намерениями выстелена дорога в АД.

Сообщение отредактировал K-SerJC - Пятница, 13.01.2017, 08:26
 
Ответить
Сообщение
но мне бы ещё сделать так чтобы он проверял определённое количество строчек или просто до конца листа все строчки

последняя заполненная строка на Лист1
[vba]
Код
lr = ActiveWorkbook.Worksheets("Лист1").Cells.SpecialCells(xlLastCell).Row
[/vba]
далее делаете любой цикл например:
[vba]
Код
for f=1 to lr
' ваш код
next f
[/vba]

p.s. пока писал ответ опередили :-)

Автор - K-SerJC
Дата добавления - 13.01.2017 в 08:24
Pelena Дата: Пятница, 13.01.2017, 08:31 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19196
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
Elhust, оформите код тегами (кнопка #)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеElhust, оформите код тегами (кнопка #)

Автор - Pelena
Дата добавления - 13.01.2017 в 08:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Какой оператор выполняет больше двух условий (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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