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

Вход

Регистрация

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

 

= Мир MS Excel/Дополнение строки макроса условием - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Дополнение строки макроса условием
Дополнение строки макроса условием
pechkin Дата: Пятница, 09.01.2015, 13:46 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Здравствуйте! Всех читающих с праздниками- прошедшими и наступающими! Возможно мой вопрос покажется несколько странным... Дело в следующем. Есть Макрос (пример не привожу т.к. считаю вопрос не конкретной задачей), который по одному условию циклом перебирая данные выводит на Лист нужные .Одна из строк с таким условием[vba]
Код
If .Cells(i, 1).Value = Range("B1").Value Then....
[/vba] Возможно ли добавлять еще одно условие в эту же строку (или как-то иначе) не переписывая как бы остальной текст что-то типа[vba]
Код
If Range("B2").Value = "Да" And .Cells(i, 1).Value = Range("B1").Value And .Cells(i, 3).Value <> "ноябрь"  Then...
[/vba] То есть выбирая в определенной ячейке значение "ДА" строка макроса имела бы два условия, а если нет то одно? Что бы не повторять весь текст Макроса два раза Спасибо!
 
Ответить
СообщениеЗдравствуйте! Всех читающих с праздниками- прошедшими и наступающими! Возможно мой вопрос покажется несколько странным... Дело в следующем. Есть Макрос (пример не привожу т.к. считаю вопрос не конкретной задачей), который по одному условию циклом перебирая данные выводит на Лист нужные .Одна из строк с таким условием[vba]
Код
If .Cells(i, 1).Value = Range("B1").Value Then....
[/vba] Возможно ли добавлять еще одно условие в эту же строку (или как-то иначе) не переписывая как бы остальной текст что-то типа[vba]
Код
If Range("B2").Value = "Да" And .Cells(i, 1).Value = Range("B1").Value And .Cells(i, 3).Value <> "ноябрь"  Then...
[/vba] То есть выбирая в определенной ячейке значение "ДА" строка макроса имела бы два условия, а если нет то одно? Что бы не повторять весь текст Макроса два раза Спасибо!

Автор - pechkin
Дата добавления - 09.01.2015 в 13:46
DJ_Marker_MC Дата: Пятница, 09.01.2015, 13:56 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Ну можно как то так:

[vba]
Код
If Range("B2").Value = "Да" And .Cells(i, 1).Value = Range("B1").Value And .Cells(i, 3).Value <> "ноябрь" Then
   выполнить действие 1
Elseif .Cells(i, 1).Value = Range("B1").Value Then
   выполнить действие 2
Else
   выполнить действие 3
End If
[/vba]
 
Ответить
СообщениеНу можно как то так:

[vba]
Код
If Range("B2").Value = "Да" And .Cells(i, 1).Value = Range("B1").Value And .Cells(i, 3).Value <> "ноябрь" Then
   выполнить действие 1
Elseif .Cells(i, 1).Value = Range("B1").Value Then
   выполнить действие 2
Else
   выполнить действие 3
End If
[/vba]

Автор - DJ_Marker_MC
Дата добавления - 09.01.2015 в 13:56
pechkin Дата: Пятница, 09.01.2015, 14:09 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Спасибо за ответ! К сожалению, не совсем то, о чем я спрашивал. Дело в том, что везде после строк условий нужно будет вставлять совершенно одинаковые строки Макроса, т.е. как бы (в Вашем примере "выполнить действие1, выполнить действие2, выполнить действие3"- одно и тоже ).Вернее из одних и тех же данных выбираются то ли по одному условию или по двум и далее распределяются на Листе (почему и не хочется "грузить" Макрос одним и тем же текстом (он достаточно большой) Спасибо!
 
Ответить
СообщениеСпасибо за ответ! К сожалению, не совсем то, о чем я спрашивал. Дело в том, что везде после строк условий нужно будет вставлять совершенно одинаковые строки Макроса, т.е. как бы (в Вашем примере "выполнить действие1, выполнить действие2, выполнить действие3"- одно и тоже ).Вернее из одних и тех же данных выбираются то ли по одному условию или по двум и далее распределяются на Листе (почему и не хочется "грузить" Макрос одним и тем же текстом (он достаточно большой) Спасибо!

Автор - pechkin
Дата добавления - 09.01.2015 в 14:09
gling Дата: Пятница, 09.01.2015, 14:58 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2525
Репутация: 678 ±
Замечаний: 0% ±

2010
Цитата
не хочется "грузить" Макрос
вместо "выполнить действие 1;2 ;3" - впишите название отдельного макроса (достаточно большого) можно одного и того же. Или опять не так?


ЯД-41001506838083

Сообщение отредактировал gling - Пятница, 09.01.2015, 15:01
 
Ответить
Сообщение
Цитата
не хочется "грузить" Макрос
вместо "выполнить действие 1;2 ;3" - впишите название отдельного макроса (достаточно большого) можно одного и того же. Или опять не так?

Автор - gling
Дата добавления - 09.01.2015 в 14:58
pechkin Дата: Пятница, 09.01.2015, 16:14 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 329
Репутация: 49 ±
Замечаний: 0% ±

2003
Спасибо, gling! Как вариант может и подойти! Почему - бы нет!
 
Ответить
СообщениеСпасибо, gling! Как вариант может и подойти! Почему - бы нет!

Автор - pechkin
Дата добавления - 09.01.2015 в 16:14
RAN Дата: Пятница, 09.01.2015, 16:31 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
:D
[vba]
Код
Sub Мяу()
     i = 10
     If Range("B2").Value = "Да" And Cells(i, 1).Value = Range("B1").Value And Cells(i, 3).Value = "ноябрь" Then
         a = "кошка"
         GoSub cat
     ElseIf Range("B2").Value = "Да" And Cells(i, 1).Value = Range("B1").Value And Cells(i, 3).Value = "март" Then
         a = "кот"
         GoSub cat
     End If
     Exit Sub
cat:
     MsgBox a
     Return
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение:D
[vba]
Код
Sub Мяу()
     i = 10
     If Range("B2").Value = "Да" And Cells(i, 1).Value = Range("B1").Value And Cells(i, 3).Value = "ноябрь" Then
         a = "кошка"
         GoSub cat
     ElseIf Range("B2").Value = "Да" And Cells(i, 1).Value = Range("B1").Value And Cells(i, 3).Value = "март" Then
         a = "кот"
         GoSub cat
     End If
     Exit Sub
cat:
     MsgBox a
     Return
End Sub
[/vba]

Автор - RAN
Дата добавления - 09.01.2015 в 16:31
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Дополнение строки макроса условием
  • Страница 1 из 1
  • 1
Поиск:

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