|
(16) 매크로로 기록할 내용이 끝났으므로, [기록중지]
도구 모음에서 [기록중지] 단축 아이콘을 누르거나, [도구]
모음에서 [매크로] [기록중지]를 차례로 선택합니다.

강좌에 포함된 축소된 그림은
클릭하시면 확대해서 보실 수 있습니다.
(17)기록한 매크로의 내용을 살펴보기 위해 [도구]메뉴에서
[매크로]☞[Visual Basic Editor(V)]를 차례로 선택하거나, Alt +
F11키를 눌러 VB 편집기 창을 엽니다.

(18) 아마도 독자들은 아래와 비슷한 VBA 코드가
기록되어 있는 것을 확인할 수 있을 것입니다. 이
코드를 확인하고 다시, 엑셀로 돌아가기 위해 Alt + Q를
누르거나, Alt + F11키를 누릅니다.
Sub Macro1()
' Macro1 Macro' 황기성이(가) 2000-05-11에 기록한 매크로
Sheets("데이터").Range("A1:U69").AdvancedFilter
Action:=xlFilterCopy, _ CriteriaRange:=Sheets("조건").Range("D1:D2"),
CopyToRange:=Range("A7"), _ Unique:=False
End Sub
만약 이러한 내용 이외에 다른 것이 기록되어
있다면, 혹 불필요하게 기록한 내용은 없는지
살펴보세요. |
(19) '검색'시트에서, 다시 [양식 도구]에서 [단추]를
선택하고, 삽입하려는 워크시트의 위치를 결정한 뒤,
마우스 왼쪽 단추를 누른 채 원하는 크기 만큼 드래그
한 다음, 마우스 버튼을 떼면 단추가 워크 시트에
삽입되면서, [매크로 지정] 대화 상자가
나타납니다. 이 때, 우리가 앞서 기록한 Macro1이라는
매크로를 선택해, 이 단추와 Macro1을 연결합니다.

(20) 이제 워크시트에 삽입한 단추에 매크로
연결되었으므로, 단추를 누르면 매크로가 실행되게
됩니다. 그 전에, 단추의 캡션을 변경해 보기 좋게
만들어 보자. 요령은 앞서 옵션 버튼의 캡션을 변경한
것과 동일합니다. 마우스 오른쪽 버튼을 눌러 개체를
선택하고, 다시 오른쪽 마우스 버튼을 눌러 빠른
메뉴에서 [텍스트 편집(X)]을 선택한다. 단추의 캡션을 '검색합니다'로
변경합니다.

(21) 매크로가 제대로 동작하는가를 확인하기 위해 '계약자로
검색'이라는 옵션 버튼을 선택하고, D2셀에는 '일'을
입력하고 검색합니다 단추를 눌러보자. 아마도, 원하는
결과가 만족스럽게 나타나지 못했을 것입니다.

(22) 이 매크로를 유연하게 사용하기 위해서, 다시 Alt +
F11키를 눌러 VB편집기를 연 다음, Macro1을 아래와 같이
수정해 봅니다.
Sub Macro1()
' Macro1 Macro' 황기성이(가) 2000-05-11에 기록한 매크로
Application.DisplayAlerts = False Sheets("데이터").Range("A1").CurrentRegion.AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("조건").Range("D1:D2"),
CopyToRange:=Range("A7").CurrentRegion, _
Unique:=False
Application.DisplayAlerts = True
End Sub |
Application.DisplayAlerts = False란, 엑셀의 경고 메시지를
나타나지 않도록 하기 위한 것이다. 만약 이 구문을
넣지 않으면, 가끔씩 아래와 같은 경고 메시지가 나타날
수 있으므로 이를 막도록 한 것입니다.

| 주의! Application.DisplayAlerts = False으로 경고
메시지 속성을 변경한 경우Application.DisplayAlerts =
True다시 True로 설정해 주어야 합니다. 그렇지 않은
경우, 엑셀이 여러분이 중요한 오류를 초래할 수
있는 작업을 하려고 할 때 경고 메시지를 나타내지
않게 됩니다. |
위의 구문은, 매크로 기록기로 기록한 내용 가운데,
단지 두 세 곳 정도를 수정한 것입니다.(일반적으로는
고급 필터와 같은 매크로를 VBA로 코딩할 경우, 개체
변수라는 것을 선언하고, 이 변수를 이용해 작업합니다.
단지 예를 들기 위한 것이므로 여기서는 이렇게 코딩한
것입니다.)
| 매크로 기록기가 기록한 내용을 수정하기
위해 사용한 속성 가운데, 하나가 CurrentRegion이입니다.
이것은 여러분이 현재 셀이 위치한 데이터와 연속해
있는 모든 데이터를 선택하기 위해, Ctrl
+ Shift + 8(*)을 누르는 것과 같은 것이다.
데이터베이스의 목록이 계속 확장될 수 있으므로
이렇게 데이터가 속해 있는 연속된 데이터 범위를
지정하여 코딩하는 것이 능률적임을 알 수 있을
것입니다. |
(23) 자 이제 모든 작업은 일단락 되었습니다,
검색시트에서 옵션 버튼을 이용해 검색하려는 필드를
먼저 선택하고, D2셀에 조건을 입력하면, 조건을
만족하는 데이터만을 추출해 보여줄 것입니다.
|