2015-06-25 4 views
0

Я ищу простой макрос, который я мог бы активировать с помощью кнопки управления формой, которая очистит все кнопки управления формой на моем листе.Кнопка Option Option Reset Macro

У меня есть список опций для спецификаций промышленных деталей, из которых только один может быть выбран в каждом разделе. Однако, как только один выбран, кнопка опции управления формой остается заполненной. Я раньше обходил это, используя флажки, где, если вы снова нажмете на поле, он удалит галочку. Однако, как только я узнал, что должен был создать форму таким образом, чтобы в каждом разделе можно было выбрать только один вариант (для удобства использования в случае, если менее компьютерный человек должен был его использовать), стало ясно, что кнопками выбора являются правильный путь.

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

Я проверил следующие страницы и попытался их код:

http://www.mrexcel.com/forum/excel-questions/689865-how-clear-all-checkboxes-option-buttons-list-boxes-form-3.html

Re-setting all option buttons at once

http://www.excel-easy.com/vba/examples/option-buttons.html

Я чувствую, как это должно быть просто. Макрокод VBA, который сбросит кнопки опции FORM CONTROL на пустой (что, я считаю, является ложным состоянием?). Не нужно беспокоиться о том, чтобы определенные диапазоны были очищены; одна кнопка для сброса листа будет работать отлично.

Заранее благодарим за любую помощь.

+0

Пожалуйста, не используйте [макросы] для MS Office или VBA. [macros tag wiki] (http://stackoverflow.com/tags/macros/info) –

ответ

1

Цикл по коллекции Shapes:

Sub Reset() 
    For Each vCtrl In ActiveSheet.Shapes 
     vCtrl.DrawingObject.Value = False 
    Next 
End Sub 
+0

просто попробовал свой код под моим модулем в VBA. Могу ли я использовать это там или под «Sheet1 (Sheet1)»? В моей попытке с его помощью в модуле Module1 у меня появляется ошибка в строке «Выгрузить UserForm», которая гласит: «UserForm = Empty» Чтобы быть ясным, кнопки параметров не находятся в VBA UserForm, они находятся непосредственно на листе, с ячейками. – cterford

+0

Misread the OP - см. Править выше ^^ –

+0

К сожалению, этот обновленный код дает мне «ошибка времени выполнения» 438: Объект не поддерживает это свойство или метод »в строке« vCtrl.DrawingObject.Value = False » – cterford