Использование if then в VBA
light26
Дата: Вторник, 05.03.2013, 18:39 |
Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
И снова здрасьте. Как известно, проверку данных для одной ячейки можно применить только однажды, Поэтому прибегаю к помощи макроса. Но такую задачу макрорекордером не решить, поэтому обращаюсь к гуру Задача: запретить ввод значений в ячейку А2 и С2 больших, чем в ячейках А1 и С1 соответственно. Мое воспаленное воображение придумало это: [vba]Код
Sub Проверка() If cell("A1") < cell("A2") Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] Разумеется ЭТО не работает Если я правильно мыслю, то код должен начинаться с Dim, но что должно следовать дальше, я не знаю. Помогите с кодом, а. Пожалуйста.
И снова здрасьте. Как известно, проверку данных для одной ячейки можно применить только однажды, Поэтому прибегаю к помощи макроса. Но такую задачу макрорекордером не решить, поэтому обращаюсь к гуру Задача: запретить ввод значений в ячейку А2 и С2 больших, чем в ячейках А1 и С1 соответственно. Мое воспаленное воображение придумало это: [vba]Код
Sub Проверка() If cell("A1") < cell("A2") Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] Разумеется ЭТО не работает Если я правильно мыслю, то код должен начинаться с Dim, но что должно следовать дальше, я не знаю. Помогите с кодом, а. Пожалуйста. light26
Я не волшебник. Я только учусь
Ответить
Сообщение И снова здрасьте. Как известно, проверку данных для одной ячейки можно применить только однажды, Поэтому прибегаю к помощи макроса. Но такую задачу макрорекордером не решить, поэтому обращаюсь к гуру Задача: запретить ввод значений в ячейку А2 и С2 больших, чем в ячейках А1 и С1 соответственно. Мое воспаленное воображение придумало это: [vba]Код
Sub Проверка() If cell("A1") < cell("A2") Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] Разумеется ЭТО не работает Если я правильно мыслю, то код должен начинаться с Dim, но что должно следовать дальше, я не знаю. Помогите с кодом, а. Пожалуйста. Автор - light26 Дата добавления - 05.03.2013 в 18:39
Serge_007
Дата: Вторник, 05.03.2013, 18:47 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
А чё не проверкой данных?
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение А чё не проверкой данных? Автор - Serge_007 Дата добавления - 05.03.2013 в 18:47
light26
Дата: Вторник, 05.03.2013, 18:57 |
Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (Serge_007 )
А чё не проверкой данных?
Цитата (light26 )
проверку данных для одной ячейки можно применить только однажды,
На эти ячейки уже есть проверка данных
Цитата (Serge_007 )
А чё не проверкой данных?
Цитата (light26 )
проверку данных для одной ячейки можно применить только однажды,
На эти ячейки уже есть проверка данныхlight26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (Serge_007 )
А чё не проверкой данных?
Цитата (light26 )
проверку данных для одной ячейки можно применить только однажды,
На эти ячейки уже есть проверка данныхАвтор - light26 Дата добавления - 05.03.2013 в 18:57
Serge_007
Дата: Вторник, 05.03.2013, 18:58 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (light26 )
На эти ячейки уже есть проверка данных
Какая? Несколько проверок можно либо установить так же как и в Excel, либо никак
Цитата (light26 )
На эти ячейки уже есть проверка данных
Какая? Несколько проверок можно либо установить так же как и в Excel, либо никакSerge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (light26 )
На эти ячейки уже есть проверка данных
Какая? Несколько проверок можно либо установить так же как и в Excel, либо никакАвтор - Serge_007 Дата добавления - 05.03.2013 в 18:58
light26
Дата: Вторник, 05.03.2013, 19:03 |
Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (Serge_007 )
Несколько проверок можно либо установить
И как это сделать?
Цитата (Serge_007 )
Несколько проверок можно либо установить
И как это сделать?light26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (Serge_007 )
Несколько проверок можно либо установить
И как это сделать?Автор - light26 Дата добавления - 05.03.2013 в 19:03
light26
Дата: Вторник, 05.03.2013, 19:04 |
Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Проверка на вводимые значения. Это должно быть действилельное число не больше единицы Грубо говоря, значение в А1, А2, С1, С2 должно быть не больше 1
Проверка на вводимые значения. Это должно быть действилельное число не больше единицы Грубо говоря, значение в А1, А2, С1, С2 должно быть не больше 1 light26
Я не волшебник. Я только учусь
Сообщение отредактировал light26 - Вторник, 05.03.2013, 19:06
Ответить
Сообщение Проверка на вводимые значения. Это должно быть действилельное число не больше единицы Грубо говоря, значение в А1, А2, С1, С2 должно быть не больше 1 Автор - light26 Дата добавления - 05.03.2013 в 19:04
Serge_007
Дата: Вторник, 05.03.2013, 19:13 |
Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (light26 )
как это сделать?
Формулой Цитата (light26 )
значение в А1, А2, С1, С2 должно быть не больше 1
В чём проблема?
Цитата (light26 )
как это сделать?
Формулой Цитата (light26 )
значение в А1, А2, С1, С2 должно быть не больше 1
В чём проблема? Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (light26 )
как это сделать?
Формулой Цитата (light26 )
значение в А1, А2, С1, С2 должно быть не больше 1
В чём проблема? Автор - Serge_007 Дата добавления - 05.03.2013 в 19:13
Michael_S
Дата: Вторник, 05.03.2013, 19:18 |
Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 2012
Репутация:
373
±
Замечаний:
0% ±
Excel2016
Цитата (light26 )
Sub Проверка() If cell("A1") < cell("A2") Then MsgBox "Смотри че пишешь" End If End Sub
Либо Range("A1") , либо Cells (1, 1)
Цитата (light26 )
Sub Проверка() If cell("A1") < cell("A2") Then MsgBox "Смотри че пишешь" End If End Sub
Либо Range("A1") , либо Cells (1, 1) Michael_S
Сообщение отредактировал Michael_S - Вторник, 05.03.2013, 19:19
Ответить
Сообщение Цитата (light26 )
Sub Проверка() If cell("A1") < cell("A2") Then MsgBox "Смотри че пишешь" End If End Sub
Либо Range("A1") , либо Cells (1, 1) Автор - Michael_S Дата добавления - 05.03.2013 в 19:18
light26
Дата: Вторник, 05.03.2013, 19:28 |
Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Serge_007, Ниче не понял Не, первое-то условие я уже задал (запрет ввода значений больше 1), а второе условие как?
Serge_007, Ниче не понял Не, первое-то условие я уже задал (запрет ввода значений больше 1), а второе условие как? light26
Я не волшебник. Я только учусь
Ответить
Сообщение Serge_007, Ниче не понял Не, первое-то условие я уже задал (запрет ввода значений больше 1), а второе условие как? Автор - light26 Дата добавления - 05.03.2013 в 19:28
Serge_007
Дата: Вторник, 05.03.2013, 19:31 |
Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Тип данных: Действительное Максимум: 1
Тип данных: Действительное Максимум: 1 Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Тип данных: Действительное Максимум: 1 Автор - Serge_007 Дата добавления - 05.03.2013 в 19:31
Pelena
Дата: Вторник, 05.03.2013, 19:32 |
Сообщение № 11
Группа: Админы
Ранг: Местный житель
Сообщений: 19409
Репутация:
4558
±
Замечаний:
±
Excel 365 & Mac Excel
Если для А1 стоит ограничение <=1, то для А2 достаточно поставить ограничение в виде <=A1, само собой А2 будет не больше 1
Если для А1 стоит ограничение <=1, то для А2 достаточно поставить ограничение в виде <=A1, само собой А2 будет не больше 1 Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Если для А1 стоит ограничение <=1, то для А2 достаточно поставить ограничение в виде <=A1, само собой А2 будет не больше 1 Автор - Pelena Дата добавления - 05.03.2013 в 19:32
Serge_007
Дата: Вторник, 05.03.2013, 19:35 |
Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Лен, надо ещё ДЕЙСТВИТЕЛЬНОЕ
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Лен, надо ещё ДЕЙСТВИТЕЛЬНОЕ Автор - Serge_007 Дата добавления - 05.03.2013 в 19:35
Pelena
Дата: Вторник, 05.03.2013, 19:39 |
Сообщение № 13
Группа: Админы
Ранг: Местный житель
Сообщений: 19409
Репутация:
4558
±
Замечаний:
±
Excel 365 & Mac Excel
Цитата (Serge_007 )
надо ещё ДЕЙСТВИТЕЛЬНОЕ
Ну да
Цитата (Serge_007 )
надо ещё ДЕЙСТВИТЕЛЬНОЕ
Ну да Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Цитата (Serge_007 )
надо ещё ДЕЙСТВИТЕЛЬНОЕ
Ну да Автор - Pelena Дата добавления - 05.03.2013 в 19:39
light26
Дата: Вторник, 05.03.2013, 19:46 |
Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (Michael_S )
Либо Range("A1"), либо Cells(1, 1)
Спасибо, добрый человек А можно, для особо одаренных, пояснить про cell и range. Ну, cell - это ячейка. А range? И как диапазоны указывать?
Цитата (Michael_S )
Либо Range("A1"), либо Cells(1, 1)
Спасибо, добрый человек А можно, для особо одаренных, пояснить про cell и range. Ну, cell - это ячейка. А range? И как диапазоны указывать?light26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (Michael_S )
Либо Range("A1"), либо Cells(1, 1)
Спасибо, добрый человек А можно, для особо одаренных, пояснить про cell и range. Ну, cell - это ячейка. А range? И как диапазоны указывать?Автор - light26 Дата добавления - 05.03.2013 в 19:46
light26
Дата: Вторник, 05.03.2013, 19:58 |
Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Pelena, Serge_007 Стоп, стоп, стоп! Вы меня совсем запутали. См. файл
Pelena, Serge_007 Стоп, стоп, стоп! Вы меня совсем запутали. См. файл light26
Я не волшебник. Я только учусь
Сообщение отредактировал light26 - Вторник, 05.03.2013, 19:58
Ответить
Сообщение Pelena, Serge_007 Стоп, стоп, стоп! Вы меня совсем запутали. См. файл Автор - light26 Дата добавления - 05.03.2013 в 19:58
light26
Дата: Вторник, 05.03.2013, 20:08 |
Сообщение № 16
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (Michael_S )
Либо Range("A1"), либо Cells(1, 1)
Ни[vba]Код
Sub Проверка() If cells(1,1) < cells(1,1) Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] ни [vba]Код
Sub Проверка() If range("A1") < range("A2") Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] не работают
Цитата (Michael_S )
Либо Range("A1"), либо Cells(1, 1)
Ни[vba]Код
Sub Проверка() If cells(1,1) < cells(1,1) Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] ни [vba]Код
Sub Проверка() If range("A1") < range("A2") Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] не работают light26
Я не волшебник. Я только учусь
Ответить
Сообщение Цитата (Michael_S )
Либо Range("A1"), либо Cells(1, 1)
Ни[vba]Код
Sub Проверка() If cells(1,1) < cells(1,1) Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] ни [vba]Код
Sub Проверка() If range("A1") < range("A2") Then MsgBox "Смотри че пишешь" End If End Sub
[/vba] не работают Автор - light26 Дата добавления - 05.03.2013 в 20:08
ABC
Дата: Вторник, 05.03.2013, 20:10 |
Сообщение № 17
Группа: Друзья
Ранг: Обитатель
Сообщений: 397
Репутация:
112
±
Замечаний:
0% ±
Excel 2007
может так? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 3 Then Exit Sub If Range("C" & Target.Row).Value > Range("C" & Target.Row - 1).Value Then MsgBox "Смотри че пишешь" Target.Value = "": Target.Activate End If End Sub
[/vba]
может так? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 3 Then Exit Sub If Range("C" & Target.Row).Value > Range("C" & Target.Row - 1).Value Then MsgBox "Смотри че пишешь" Target.Value = "": Target.Activate End If End Sub
[/vba] ABC
MS Excel 2007 and 2010... ------------------------------- С Уважением, Даулет
Сообщение отредактировал ABC - Вторник, 05.03.2013, 20:15
Ответить
Сообщение может так? [vba]Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column <> 3 Then Exit Sub If Range("C" & Target.Row).Value > Range("C" & Target.Row - 1).Value Then MsgBox "Смотри че пишешь" Target.Value = "": Target.Activate End If End Sub
[/vba] Автор - ABC Дата добавления - 05.03.2013 в 20:10
Pelena
Дата: Вторник, 05.03.2013, 20:21 |
Сообщение № 18
Группа: Админы
Ранг: Местный житель
Сообщений: 19409
Репутация:
4558
±
Замечаний:
±
Excel 365 & Mac Excel
Цитата (light26 )
Вы меня совсем запутали
Единственное неудобство, что проверка разная для С2, С4 и для С3, С5
Цитата (light26 )
Вы меня совсем запутали
Единственное неудобство, что проверка разная для С2, С4 и для С3, С5Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Ответить
Сообщение Цитата (light26 )
Вы меня совсем запутали
Единственное неудобство, что проверка разная для С2, С4 и для С3, С5Автор - Pelena Дата добавления - 05.03.2013 в 20:21
light26
Дата: Вторник, 05.03.2013, 20:22 |
Сообщение № 19
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
ABC, ой, это очень тяжело Что значит If Target.Column <> 3 Then Exit Sub ? Завершить выполнение кода, если ... что-то с третьим столбцом связано, да? Следующая строка кода мине вообще не понятна
ABC, ой, это очень тяжело Что значит If Target.Column <> 3 Then Exit Sub ? Завершить выполнение кода, если ... что-то с третьим столбцом связано, да? Следующая строка кода мине вообще не понятна light26
Я не волшебник. Я только учусь
Ответить
Сообщение ABC, ой, это очень тяжело Что значит If Target.Column <> 3 Then Exit Sub ? Завершить выполнение кода, если ... что-то с третьим столбцом связано, да? Следующая строка кода мине вообще не понятна Автор - light26 Дата добавления - 05.03.2013 в 20:22
light26
Дата: Вторник, 05.03.2013, 20:27 |
Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1352
Репутация:
91
±
Замечаний:
0% ±
2007, 2010, 2013
Цитата (Pelena )
Единственное неудобство,
Ну да. А при больших объемах это серьезный минус. Но, в очередной раз спасибо. Все-таки мне до вас еще расти, и расти, и расти, и расти........... ))) Пока даже мозги не работают правильно Пойду домой. Подумаю над своим поведением по дороге
Цитата (Pelena )
Единственное неудобство,
Ну да. А при больших объемах это серьезный минус. Но, в очередной раз спасибо. Все-таки мне до вас еще расти, и расти, и расти, и расти........... ))) Пока даже мозги не работают правильно Пойду домой. Подумаю над своим поведением по дороге light26
Я не волшебник. Я только учусь
Сообщение отредактировал light26 - Вторник, 05.03.2013, 20:28
Ответить
Сообщение Цитата (Pelena )
Единственное неудобство,
Ну да. А при больших объемах это серьезный минус. Но, в очередной раз спасибо. Все-таки мне до вас еще расти, и расти, и расти, и расти........... ))) Пока даже мозги не работают правильно Пойду домой. Подумаю над своим поведением по дороге Автор - light26 Дата добавления - 05.03.2013 в 20:27