반응형
안녕하세요.
pcmanii입니다.
간만에 엑셀 팁 하나 올립니다.
엑셀에서 체크박스를
전체선택 전체해제 할때가 있습니다.
보통 양식컨트롤의
체크 박스를 쓰기도 하고
ActiveX 체크 박스를 쓰기도 합니다.
두가지 다 각각 컨트롤 할수 있는
매크로를 만들어 봤습니다.
먼저 양식컨트롤 체크박스를
이용할때 매크로 입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 28 |
'양식컨트롤 체크박스 전체선택
Sub chkBox_select_release_Click()
ActiveSheet.CheckBoxes = False
End Sub
'양식컨트롤 체크박스 전체해제
Sub chkBox_select_Click()
ActiveSheet.CheckBoxes = True
End Sub
'양식컨트롤 체크박스 전체선택/전체해제
Sub checkOnOff_Click()
Application.ScreenUpdating = False
Dim btn As Button
Set btn = ActiveSheet.Buttons(Application.Caller)
If btn.Caption = "전체선택" Then
ActiveSheet.CheckBoxes = True
btn.Caption = "전체해제"
Else
ActiveSheet.CheckBoxes = False
btn.Caption = "전체선택"
End If
End Sub
|
각각의 sub를 설명드리자면
chkBox_select_release_Click()
양식컨트롤 체크박스 전체 해제 매크로
chkBox_select_Click()
양식컨트롤 체크박스 전체 선택 매크로
checkOnOff_Click()
양식컨트롤 체크박스 전체선택 or 전체해제 매크로 입니다.
위에 두개의 sub를 합친거라고 생각 하시면 됩니다.
전체를 하실거면
이 매크로 하나만 사용 하시면 됩니다.

ActiveX컨트롤 체크박스를
이용할때 매크로 입니다.
1 2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
'ActiveX컨트롤 체크박스 전체선택
Sub AchkBoxSelect_Click()
Dim chk_box As OLEObject
For Each chk_box In ActiveSheet.OLEObjects
If TypeOf chk_box.Object Is MSForms.CheckBox Then
chk_box.Object.Value = True
End If
Next
End Sub
'ActiveX컨트롤 체크박스 전체해제
Sub AchkBoxRelease_Click()
Dim chk_box As OLEObject
For Each chk_box In ActiveSheet.OLEObjects
If TypeOf chk_box.Object Is MSForms.CheckBox Then
chk_box.Object.Value = False
End If
Next
End Sub
'ActiveX컨트롤 체크박스 전체선택/전체해제
Sub AcheckOnOff_Click()
Application.ScreenUpdating = False
Dim btn As Button
Set btn = ActiveSheet.Buttons(Application.Caller)
If btn.Caption = "전체선택" Then
Dim chk_box As OLEObject
For Each chk_box In ActiveSheet.OLEObjects
If TypeOf chk_box.Object Is MSForms.CheckBox Then
chk_box.Object.Value = True
End If
Next
btn.Caption = "전체해제"
Else
For Each chk_box In ActiveSheet.OLEObjects
If TypeOf chk_box.Object Is MSForms.CheckBox Then
chk_box.Object.Value = False
End If
Next
btn.Caption = "전체선택"
End If
End Sub
|
AchkBoxSelect_Click()
액티브엑스컨트롤 체크박스 전체 해제 매크로
AchkBoxRelease_Click()
엑티브X 컨트롤 체크박스 전체 선택 매크로
AcheckOnOff_Click()
ActiveX컨트롤 체크박스 전체선택 or 전체해제 매크로 입니다.
위에 두개의 sub를 합친거라고 생각 하시면 됩니다.
전체를 하실거면
이 매크로 하나만 사용 하시면 됩니다.
맥에서는 엑티브엑스를 쓸수 없으니
컨트롤 양식을 사용 해야 합니다.
모두 코로나 조심하시고
조만간 다시 "I will be back"
'엑셀팁' 카테고리의 다른 글
엑셀 shape의 텍스트(text)를 셀에 자동으로 추출하기(vb활용) (2) | 2022.08.17 |
---|---|
여러셀의 텍스트 내용을 구분 기호로 하나로 합치기 - 엑셀 (0) | 2021.09.06 |
시트안의 많은 인터넷주소 한방에 하이퍼링크로 자동 변환하기 (0) | 2021.08.30 |
엑셀에서 시간을 일 시간 분으로 자동 변환하기 (1) | 2021.06.24 |
EXCEL(엑셀) 첫 글자 자음 모음 분리 현상 오류 제거 하기 (2) | 2021.01.10 |
엑셀 그림 클릭 확대 축소 VBA 매크로 완성형- 축소 시 셀 맞춤까지 완벽(EXCEL picture shapes, zoom, reduction,Cell alignment) (4) | 2020.04.10 |
엑셀 도형( Shapes,그림,jpg )클릭 시 사진 확대 축소VBA 매크로 2가지 (0) | 2020.03.21 |
엑셀(Excel) 삽입 된 개체(object) 클릭(Click) 시 파일 자동열기 VBA 매크로 (0) | 2020.03.16 |
엑셀 2010 네트웍상에에서 동시에 여러사람이 엑셀 문서 작업하여 저장하기 (0) | 2017.03.06 |
엑셀 숫자 포함시 추출 (0) | 2017.01.25 |