2013-09-21 78 views
5

Tôi có sổ làm việc với hơn 100 hộp kiểm.Bỏ chọn tất cả các hộp kiểm từ sổ làm việc Excel với VBA Macro

Họ là điều khiển biểu mẫu hộp kiểm

Tôi muốn bỏ chọn tất cả cùng một lúc

đó là đặt chúng vào sai.

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

Làm việc cho trang tính hiện hoạt. Tôi muốn mã này dành cho toàn bộ sổ làm việc

Tôi đã thử tìm mã và làm rối tung bằng cách xóa các hộp kiểm nhưng không có gì khôn ngoan hơn.

Tôi thực sự sẽ đánh giá cao nếu một số ai có thể hướng dẫn cho tôi

cảm ơn bạn

+0

Loại hộp kiểm nào? Điều khiển biểu mẫu hoặc điều khiển ActiveX? –

+0

Vâng, tôi [GUESS] (http://stackoverflow.com/questions/18927090/excel-active-x-checkbox-uncheck-by-default) chúng là ActiveX. Trong trường hợp đó câu trả lời của Gary sẽ thực hiện công việc :) –

Trả lời

10

Nếu bạn có OLEObject kiểu (ActiveX) hộp kiểm tra, sau đó:

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:

Nếu chúng là biểu mẫu hộp kiểm, sau đó các công việc sau sẽ hoạt động:

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 Đẹp nhất :) –

+0

Xin chào Gary, cảm ơn rất nhiều vì câu trả lời của bạn, các hộp kiểm được kiểm soát biểu mẫu và không hoạt động x, mã này vẫn hoạt động? – user2533460

+0

Xin chào Gary, Điều này hoạt động hoàn toàn tốt cho các hộp kiểm x đang hoạt động trong trang tính đang hoạt động. Tôi đang tìm một macro khi nhấp vào sẽ bỏ chọn tất cả các hộp kiểm điều khiển biểu mẫu trong sổ làm việc, vui lòng thông báo cho – user2533460