1

У меня есть переключатель с опцией ДА / НЕТ. Мне требуется, чтобы другая ячейка была активирована / выделена ТОЛЬКО при нажатии переключателя ДА, а не при переключении переключателя Нет. Например:

Колонка 1 .......| Колонка 2 ...............| Колонка 3 .......| Колонка 4.|

Есть ноутбук?| (радио-кнопка) ДА. | Какой бренд: | .................|

...................... | (radio_buton) НЕТ ...| .......................| .................|

У меня меньше очков репутации, поэтому я не могу вставить изображение. Но я пытался подражать листу Excel.(Извините, потерпите меня)

Обращаясь к этому изображению, я хочу, чтобы при нажатии на кнопку "ДА" поле "Какой бренд" активировалось / подсвечивалось, запрашивая ввод данных пользователем. Однако, если я нажму НЕТ, то ничего не произойдет.

Я пытался найти его решение на разных сайтах, но тщетно. Любая помощь будет по достоинству оценена.

Благодарю.

2 ответа2

1

Используйте макрос рекордер Excel. Это идеально подходит для таких задач.

  1. Нажмите правой кнопкой мыши на кнопку YES
  2. Выберите Назначить макрос → открывается новое диалоговое окно.
  3. Нажмите «запись и ок» → диалоговое окно исчезнет, и вы сможете начать запись
  4. Делайте ваши действия → Выберите ячейку какой марки
  5. Зайдите в View → Macros → Stop recording

Теперь, каждый раз, когда вы нажимаете кнопку YES, базовый код VBA выполняется и снова выполняет все ваши записанные действия. Если вы хотите добавить больше действий, нажмите ALT+F8, чтобы открыть редактор VBA.

(протестировано с Office 2013)

0

Запустите в Design Mode на вкладке « Developer » ленты, щелкните правой кнопкой мыши кнопку "Да" и выберите « View Code . (Я переименовал кнопку "obYes".)

Выберите «Просмотр кода» после нажатия правой кнопки «Да».

Это вызовет редактор кода VBA с пустой процедурой для кода, которая будет запускаться каждый раз при нажатии кнопки «Да».

Редактирование кода с пустой процедурой, которую нужно выполнить при нажатии кнопки «Да».

Здесь нужно сделать выбор, что именно должно произойти при нажатии кнопки «Да».

Для этого примера я предположил, что должно произойти три вещи:

  • Ячейка, в которой пользователь введет марку ноутбука, должна быть выбрана.
  • Цвет заливки этой ячейки должен измениться.
  • Должно появиться сообщение, подтверждающее, что пользователь должен делать.

Лучший способ выяснить, какой код нужен, - использовать макро-рекордер для генерации основного кода, который затем можно настроить (и, как правило, сократить), чтобы сделать именно то, что вы хотите).

Возможно, потребуется дополнить запись в макросе поиском в Google. Первые две вещи легко найти с помощью поисковых терминов "Excel vba select cell" и "Excel VBA Set Cell Color".

Третий - сообщение пользователю - немного сложнее, но только потому, что необходимо решить, как именно доставить сообщение: всплывающее окно? Текст вставлен в соседнюю ячейку? Что-то другое?

В этом случае я выбрал функцию проверки данных Excel, которую удобно настроить для всплывающего сообщения при выборе ячейки.

Вот код для кнопок Да и Нет. (Загадочный 7-значный номер для внутреннего цвета ячейки в коде «Да» - это то, что записывал макрос, когда я выбрал зеленый для цвета заливки.)

Код кнопки выбора.

Результат в значительной степени работает как задумано. Когда выбрана кнопка «Да», ячейка ввода данных выбирается, ее цвет становится зеленым, и появляется сообщение. При выборе кнопки «Нет» ячейка очищается.

Ячейки ввода данных с выбранными кнопками «да» и «нет».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .