[VBA 강좌] 매크로기록기 사용하기 썸네일 이미지
[VBA 강좌] 매크로기록기 사용하기
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회2,543
즐겨찾기
[VBA 강좌] 매크로기록기 사용하기를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
평생이용

엑셀쿠키는 한 번의 다운로드로 평생 이용하실 수 있습니다. 프로그램과 데이터를 고객의 PC에 저장하여 사용하는 형식이라 안전하게 사용 가능합니다. 이용 기간에 따른 추가 비용이 발생하지 않아 매우 경제적입니다.

맞춤형

중소기업의 개별 특성, 다양한 업무를 상황별로 고려하여 제작된 프로그램을 업데이트합니다. 분야별 5,000여 개의 프로그램 중 내 업무에 맞는 프로그램을 다운받는 맞춤형 서비스입니다.

쉬운 활용

쿠키 프로그램은 MS Excel의 기본 사용법만 알면 즉시 사용할 수 있는 매운 쉬운 프로그램으로 누구나 손쉽게 배우고 사용할 수 있습니다.

중소기업의 모든 업무자동화!

엑셀쿠키로 모두 해결하세요!
1 Vector 11
image 59
image 60
image 56
Pro display XLS Vector 12
Microsoft Excel 표준

쿠키의 업무자동화 프로그램은 VBA 코드로 개발된 제품으로
MS Excel 프로그램 기반으로 사용 가능하며,
자체적으로 개발한 기능은 물론,
MS Excel의 강력한 기능을 모두 사용하실 수 있습니다.

241202_coukey_BI_white2_07
automation_ondemand_event_productview_1030*362

엑셀쿠키는 기업의 생산성을 높이는 업무자동화 지원 프로그램입니다.

image 62 image 70 image 61 image 71 image 65 image 66 image 64 image 68
image 63 image 69
제품 상세정보












[ VBA 강좌 ]

제 2강

매크로기록기 사용하기

매크로 기록

1. VBA 코드창 안에 포함되는 것들

 1.VBA 코드창 안에는 다음의 네가지가 포함되어 질 수 있습니다.
 
  (1) 서브 프로시져(Sub Procedure): 프로시져라는 것은 어떤 동작을 수행하는 명령들의 집합체 입니다. 
  (2) 펑션 프로시져(Function Procedure): 펑션이라는 것은 어떤 동작을 수행(←여기까지는 프로시저와 동일)하고  
     그 결과값(또는 배열)을 돌려주는(즉 리턴시켜 주는) 명령들의 집합체입니다. 언뜻 이해가 되지 않지요?  
    SUM 함수를 생각해 보세요. 특정 범위를 합계한 다음 그 결과값을 화면상에 돌려 주지 않습니까? 
  (3) (변수)선언(Declarations): 변수(변수에 대해서는 다음 기회에 자세히 설명드릴 예정입니다.^^)의 타입 등에 대한  
     정보를 지정해 줍니다. 
  (4) 프로퍼티 프로시져(Property Procedure): 프로퍼티는 보통 "속성"이라고 번역이 됩니다.  
     이 프로퍼티 프로시져는 "클래스 모듈"이라는 좀 특별한 모듈에서 사용되는 좀 특수한 것입니다.  
 
파일안에는 여러 개의 모듈을 삽입할 수 있습니다. 하나의 모듈안에 여러 개의 프로시저를 넣어 둘 것인지  
아니면, 몇 개의 모듈에다 분산해서 넣어 둘 것인지는 사용자의 마음입니다.  

2.VBA 코드 입력해 보기 

1.VBA 모듈에 코드를 삽입하는 데는 다음의 세가지 방법이 있습니다.
 
  (1) 가장 전통적인(?) 방법: 키보드로 그냥 입력하는 방법 
   (2) 매크로 기록기능을 사용하는 방법: 매크로 기록기를 사용해서 코드를 만든 다음 그것을 수정하여 사용하는 방법 
 
  (3) 복사하기: 다른 모듈에서 [복사]-[붙여넣기] 해서 사용하는 방법 

3.매크로 기록기능 사용하기 

그러면 이번에는 매크로 기록기를 사용하여 코드를 작성해 볼까요? 
 
  (1) 아무 워크시트나 하나 선택합니다(현재 시트도 물론 괜찮지요). 
 
  (2) [개발도구]-[매크로 기록] 메뉴를 선택합니다. 
 
  (3) [매크로 기록] 대화상자가 나타나는데, 그냥 [확인]을 선택합니다. 
 
  (4) 이제부터의 모든 동작이 코드로 기록이 되므로 쓸데없는 것을 누르지 않도록 각별히 주의하시고...  
     [페이지 레이아웃]-[용지 방향] 메뉴를 클릭합니다. 
 
  (5) [용지 방향]-[가로]를 선택하신 다음, [확인]을 누릅니다. 
 
  (6) 도구모음의 [기록 중지] 버튼을 누릅니다.(또는 [개발 도구]-[기록 중지] 메뉴를 선택해도 됩니다) 

 이제, 기록된 매크로를 살펴 볼까요? VBE 창으로 갑니다(Alt + F11키를 눌러 보세요)
 가서, Module1를 더블클릭하여 내용을 살펴보세요(만약, Module1이 이미 있다면, Module2에 기록이 되어 있을 것입니다) 

 

 

Sub 매크로1()
'
' 매크로1 매크로
'

'
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    Application.PrintCommunication = True
    ActiveSheet.PageSetup.PrintArea = ""
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.15748031496063)
        .RightMargin = Application.InchesToPoints(0.15748031496063)
        .TopMargin = Application.InchesToPoints(0.590551181102362)
        .BottomMargin = Application.InchesToPoints(0.393700787401575)
        .HeaderMargin = Application.InchesToPoints(0.511811023622047)
        .FooterMargin = Application.InchesToPoints(0.511811023622047)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlLandscape
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = 100
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = False
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    Application.PrintCommunication = True
End Sub

 

 


 놀라지 않으셨는지? 분명, 우리가 해 준 거라고는 [파일]-[페이지 설정] 에서 [용지방향]을 가로로 선택한 것 밖에  
없는데, 이렇게 많은 코드가 저절로 작성이 되어 있다니 말입니다! 
 
그런데 정작 우리가 필요한 것은 위에서 노란색으로 표시한 부분입니다. 그 이외 라인은 삭제하셔도 됩니다.  
즉, 아래와 같이 축약을 해도 된다는 것이지요. 
  

 

 

Sub Macro1() 
    With ActiveSheet.PageSetup 
        .Orientation=xlLandscape 
    End With 
End Sub 
 


매크로 기록 기능은 분명히 필요한 기능이긴 하지만 이처럼 불필요한 요소까지 모두 기록으로 남겨 두기 때문에  
융통성이 전혀 없으며, 또한 매크로 기록 기능으로 모든 것을 해결할 수는 없습니다. 
 
위의 코드는 또, 아래와 같이 더 축약해도 동일한 결과를 구할 수 있습니다. 

 

 

Sub Macro1() 
    ActiveSheet.PageSetup.Orientation=xlLandscape 
End Sub 

 


 여기서 Orientation을 속성(Property)이라고 부릅니다. 즉 속성이라는 것은 오브젝트(개체)가 가진 특징이나 성격을  
가리키는 것입니다. 또한 xlLandscape는 내장변수(이미 만들어져 있는 변수)라고 부릅니다.  
복잡하지요? 으 !!!~~~ 속성, 개체, 내장변수… ^^ 
 
 이쯤에서 오늘 강좌를 요약을 해 볼까요?
 
매크로 기록 기능을 적극 활용하도록 하십시오. 
그러나 그 결과를 보고 코드를 수정할 수는 있어야 합니다. 위의 예에서와 같이 불필요한 요소들이 많이 포함될 뿐만  
아니라 매크로 기록 기능으로는 MsgBox, InputBox, 변수 지정 등과 같은 기능은 수행할 수가 없습니다. 
 
가끔, 코딩을 하다 보면 프로퍼티(속성)나 Method(방법) 등이 생각나지 않을 때가 자주 있습니다.  
이럴 경우에 매크로 기록 기능은 아주 유용하게 쓰입니다. 
 

 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 강좌] 매크로기록기 사용하기
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중