Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags more
Archives
Today
Total
관리 메뉴

냥집사의 개발일지

VBA - VBA를 이용하여 Excel에서 Word로 데이터 복사하기 본문

VBA

VBA - VBA를 이용하여 Excel에서 Word로 데이터 복사하기

깅햄찌 2022. 8. 28. 19:54
반응형

최근 Excel에 있는 데이터들을 Word로 복사할 일이 있었는데요.

데이터 양이 너무 많아서 자동화시켜야겠다고 생각했습니다.

다행히 VBA를 이용하여 Excel에서 Word로 데이터를 복사하는 방법이 있어

오늘은 그 방법을 공유해보려고 합니다 :)

 

1. 복사하고자 하는 Excel 파일을 열어줍니다.

(저는 간단히 A1부터 C3 까지 랜덤 데이터를 채워 넣었습니다!!)

 

2. Alt + F11를 눌러 아래 그림과 같은 VBA 편집기를 활성화시킵니다. 

 

 

3. Excel VBA에서 Word를 활성화하기 위한 사전 세팅을 해줍니다.

3.a 상단의 도구 탭에서 참조를 클릭합니다. 

 

 

3.b Microsoft Word 16.0 Object Library 옵션을 클릭하고 확인을 눌러줍니다.

(주의!! Microsoft Office 16.0 Object Library 아닙니다!!)

 

 

 

4.  VBA 편집기에 아래와 같이 코드를 입력합니다.

자세한 코드 설명은 아래를 참고해주세요!!

 

Sub ExcelToWord()
   
    Dim wd_app As Word.Application  ' word App(창)의 instance를 만들기 위한 변수 선언
    Dim wd_doc As Word.Document   ' word 문서의 instance를 만들기 위한 변수 선언
      
    'New 함수를 이용하여 Word application instance를 생성하고 wd_app이란 변수에 할당합니다. 
    Set wd_app = New Word.Application

    'Visible property를 참으로 하여 모니터에서 Word 창을 사용자가 볼 수 있게 합니다.     wd_app.Visible = True

    'Add 함수를 이용하여 Word documents instance를 생성하고 wd_doc이란 변수에 할당합니다. 
    Set wd_doc = wd_app.Documents.Add()

    '활성화되어 있는 Excel 창에서 범위를 지정하여 복사합니다.  (Sheet1에 A1부터 C3을 복사)
    ThisWorkbook.Worksheets("sheet1").Range("A1:C3").Copy

    'word Paragraphs(1)이란 범위에 Excel에서 복사한 data를 붙여 넣습니다. 
    wd_doc .Paragraphs(1).Range.PasteExcelTable LinkedToExcel:=False, WordFormatting:=False, RTF:=False

    'Excel_To_word라는 파일명으로 저장합니다. 
    wd_doc .SaveAs2 "Excel_To_word"

End Sub

 

5.  VBA 편집기에 코드를 작성했으면 상단에 초록색 실행 버튼을 누르거나

F5를 눌러 코드를 실행합니다!

 

 

6.  생성한 word 문서가 활성화되면서

Excel에서 복사한 데이터들이 붙여 넣기 된 것을 확인할 수 있습니다!!!

 

 

7. 마지막으로  VBA가 포함된 Excel 파일은 확장자를. xlsm으로 바꾸어 줍니다



오늘은 Excel에서 Word로 데이터를 복사하는 방법을 알아보았습니다. 

다음에도 유용한 VBA 활용법을 찾아 공유해드릴 수 있으면 좋겠네요.

좋은 하루 되십시오~~

 

Comments