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

Вход

Регистрация

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

 

= Мир MS Excel/Обойти взаимосвязь комбобоксов - Мир MS Excel

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

Excel 2016
Здравствуйте!
Ребята как избежать взаимосвязь которая активирует выполнение кода с другого объекта.
Например как в тестовом примере обойти выполнение кода ComboBox1_Change при выполнении кода с ComboBox2_Change
К сообщению приложен файл: 2209452.xlsm (15.7 Kb)
 
Ответить
СообщениеЗдравствуйте!
Ребята как избежать взаимосвязь которая активирует выполнение кода с другого объекта.
Например как в тестовом примере обойти выполнение кода ComboBox1_Change при выполнении кода с ComboBox2_Change

Автор - Сергей13
Дата добавления - 02.11.2019 в 19:29
Апострофф Дата: Суббота, 02.11.2019, 19:51 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 448
Репутация: 124 ±
Замечаний: 0% ±

Excel 1997
[vba]
Код
Dim b_Skip_ComboBox1_Change As Boolean

Private Sub ComboBox1_Change()
    If b_Skip_ComboBox1_Change Then Exit Sub
    Range("A1").Value = ComboBox1.Value
End Sub

Private Sub ComboBox2_Change()
    b_Skip_ComboBox1_Change = True
    ComboBox1.Value = ComboBox2.Value
    b_Skip_ComboBox1_Change = False
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Код
Dim b_Skip_ComboBox1_Change As Boolean

Private Sub ComboBox1_Change()
    If b_Skip_ComboBox1_Change Then Exit Sub
    Range("A1").Value = ComboBox1.Value
End Sub

Private Sub ComboBox2_Change()
    b_Skip_ComboBox1_Change = True
    ComboBox1.Value = ComboBox2.Value
    b_Skip_ComboBox1_Change = False
End Sub
[/vba]

Автор - Апострофф
Дата добавления - 02.11.2019 в 19:51
Сергей13 Дата: Суббота, 02.11.2019, 20:35 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Апострофф, Не пойму как обозначить переменную, с Option Explicit не видит b_Skip_ComboBox1_Change
 
Ответить
СообщениеАпострофф, Не пойму как обозначить переменную, с Option Explicit не видит b_Skip_ComboBox1_Change

Автор - Сергей13
Дата добавления - 02.11.2019 в 20:35
Апострофф Дата: Суббота, 02.11.2019, 20:38 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 448
Репутация: 124 ±
Замечаний: 0% ±

Excel 1997
[vba]
Код
Option Explicit
Dim b_Skip_ComboBox1_Change As Boolean

Private Sub ComboBox1_Change()
    If b_Skip_ComboBox1_Change Then Exit Sub
    Range("A1").Value = ComboBox1.Value
End Sub

Private Sub ComboBox2_Change()
    b_Skip_ComboBox1_Change = True
    ComboBox1.Value = ComboBox2.Value
    b_Skip_ComboBox1_Change = False
End Sub
[/vba]
 
Ответить
Сообщение[vba]
Код
Option Explicit
Dim b_Skip_ComboBox1_Change As Boolean

Private Sub ComboBox1_Change()
    If b_Skip_ComboBox1_Change Then Exit Sub
    Range("A1").Value = ComboBox1.Value
End Sub

Private Sub ComboBox2_Change()
    b_Skip_ComboBox1_Change = True
    ComboBox1.Value = ComboBox2.Value
    b_Skip_ComboBox1_Change = False
End Sub
[/vba]

Автор - Апострофф
Дата добавления - 02.11.2019 в 20:38
Сергей13 Дата: Суббота, 02.11.2019, 21:44 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 344
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Апострофф,
С Option Explicit не видел переменную, повторная вставка устранила проблему, возможно некорректно было вставлено.
Короче не идет, еще есть нюансы ..., походу надо пересмотреть другую последовательность.
Спасибо!


Сообщение отредактировал Сергей13 - Воскресенье, 03.11.2019, 01:05
 
Ответить
СообщениеАпострофф,
С Option Explicit не видел переменную, повторная вставка устранила проблему, возможно некорректно было вставлено.
Короче не идет, еще есть нюансы ..., походу надо пересмотреть другую последовательность.
Спасибо!

Автор - Сергей13
Дата добавления - 02.11.2019 в 21:44
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Обойти взаимосвязь комбобоксов (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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