2013-09-21 6 views
5

У меня есть книга с более чем 100 флажками.Отменить все флажки из книги Excel с помощью макроса VBA

Они флажков

управления формы Я хотел бы, чтобы отменить выбор всех их сразу

, который устанавливается их ложь.

Sub clearcheck() 
ActiveSheet.CheckBoxes.Value = False 
End Sub 

Это работает для активного листа. Я бы хотел, чтобы этот код был для всей рабочей книги.

Я пробовал искать код и возиться с очисткой флажков, но я не мудрее.

Я был бы очень признателен, если кто-нибудь может вести меня

спасибо

+0

Какие это флажки? Контроль формы или элемент управления ActiveX? –

+0

Ну, я [УГАДАЙ] (http://stackoverflow.com/questions/18927090/excel-active-x-checkbox-uncheck-by-default), они являются ActiveX. В этом случае ответ Гэри выполнит задание :) –

ответ

10

Если у вас есть OLEObject стиль (ActiveX) флажков, то:

Sub terranian() 
    Dim o As Object 
    For Each o In ActiveSheet.OLEObjects 
     If InStr(1, o.Name, "CheckBox") > 0 Then 
      o.Object.Value = False 
     End If 
    Next 
End Sub 

EDIT1:

Если они формирует флажки, то будут работать следующие:

Sub clearcheck() 
    Dim sh As Worksheet 
    For Each sh In Sheets 
     On Error Resume Next 
      sh.CheckBoxes.Value = False 
     On Error GoTo 0 
    Next sh 
End Sub 
+1

+ 1 Nice one :) –

+0

Привет, Гэри, большое спасибо за ваш ответ, флажки - это элемент управления формой, а не активный x, будет ли этот код работать? – user2533460

+0

Привет Гэри, это отлично работает для активных x флажков в активном листе. Я ищу один макрос при нажатии, будет отменять все флажки управления формой в книге, пожалуйста, сообщите – user2533460

Смежные вопросы