요약 :: 엑셀 VBA 줄바꿈 문제 해결 (MS워드 사용)

이번 포스트에서는 엑셀 VBA 코드 작성 시, 종종 발생하는 긴 텍스트 문장 줄바꿈 문제 해결 방법을 소개합니다. 별도의 VBA 툴을 작성하여 해결 할 수도 있지만, 워드만 사용해도 이 문제를 아주 쉽게 해결할 수 있습니다.

VBA 긴 텍스트 줄바꿈 문제해결 방법에는 2가지가 있습니다.

  • 긴 String 문자열을 이어진 문장으로 연결하는 방법
    "문자열1" , _
    "문자열2" , _
    "문자열3" …
  • String 변수를 생성한 뒤, 해당 변수에 문자열을 이어서 작성하는 방법
    Dim Str as String
    Str = "문자열1"
    Str = Str & "문자열2"
    Str = Str & "문자열3" …

첫번째 방법은 VBA 에서 한 줄에 작성한 최대 문자열 길이 (255자)를 초과할 경우 오류가 발생할 수 있습니다. 따라서 두번째 방법인 String 변수를 생성한 뒤, 해당 변수에 문자열을 이어서 작성하는 방법을 권장합니다.

이번 강의에서는 두번째 방법으로 문제 해결방법을 소개할 예정이며, 주로 줄바꿈이 사용되는 경우인 HTML 본문을 예제로 알아보도록 하겠습니다.

변경된 'HTML 형식'의 본문을 VBA에 연계하여 사용할 경우 꼭 명심하세요!
  • HTML 문서의 한 부분인 쌍따옴표(") 는 반드시 쌍따옴표 두개("")로 바꿔주는 작업이 필요합니다.
  • 본 포스트에서는 HTML 문서를 예제로 다뤘으므로, 쌍따옴표 변경과정이 중간에 들어갑니다. 그 외의 다른 문장, 예를 들어 SQL 코드문, 의 경우 쌍따옴표(")가 아닌 홑따옴표(') 가 사용됩니다. 따라서 필요에 따라 쌍따옴표 변경하는 과정을 생략 후 진행합니다.

예제파일 다운로드

공식설명파일구분마지막수정일파일형식파일다운로드
34310[엑셀VBA함수] CreateTOC :: 목차 만들기 자동화예제파일2020-01-08XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
34307[엑셀VBA함수] CreateTOC :: 목차 만들기 자동화추가기능2020-01-08XLAM엑셀 VBA 명령문(UDF) 예제파일다운로드
34233[엑셀VBA함수] ImageLookup :: 실시간 이미지 불러오기 함수추가기능2020-01-07XLAM엑셀 UDF 시트함수 파일다운로드
34230[엑셀VBA함수] ImageLookup :: 실시간 이미지 불러오기 함수예제파일2020-01-07XLSM엑셀 UDF 시트함수 파일다운로드
34155[VBA예제] SortArray 명령문예제파일2020-01-05XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33847[VBA예제] MeasureRange 명령문예제파일2020-01-05XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33694[VBA예제] cvRng 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33682[VBA예제] vbFileSearch 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33659[VBA예제] ListFiles 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33643[VBA예제] IsInArray 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33620[VBA예제] SplitFileExt 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33596[VBA예제] ArrayDimensnion 명령문예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33027[VBA예제] Send_Email 메일 보내기 명령문예제파일2019-12-09XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
33009[VBA예제] 줄바꿈 문제 해결 (엑셀 팁)예제파일2019-11-24XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
32057[VBA예제] Page_Setup :: 인쇄 페이지 레이아웃 설정예제파일2019-12-10XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
32029[엑셀VBA함수] DecodeURL :: URL 주소 한글/영문값으로 디코딩 반환예제파일2019-11-21XLSM엑셀 UDF 시트함수 파일다운로드
32009[엑셀VBA함수] EncodeURL :: 한글/영문 URL 주소 인코딩 변환예제파일2019-11-21XLSM엑셀 UDF 시트함수 파일다운로드
31425[VBA예제] ValidFileName :: 파일이름 사용가능여부 확인예제파일2019-12-10XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
31397[VBA예제] FileSequence :: 파일이름 순번으로 저장하기예제파일2019-12-10XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
31378[엑셀VBA함수] GetDesktopPath :: 사용자 바탕화면 경로 반환예제파일2019-12-10XLSM엑셀 UDF 시트함수 파일다운로드
31360[VBA예제] FileExists :: 선택경로 파일존재여부 확인예제파일2019-12-15XLSM엑셀 VBA 명령문(UDF) 예제파일다운로드
30522[VBA예제] isListBoxSelected :: 리스트박스 값선택여부 확인예제파일2019-12-10ZIP엑셀 VBA 명령문(UDF) 예제파일다운로드

관련 포스트

상세설명

  1. HTML 문을 복사한 뒤. MS 워드에 붙여넣기 합니다.
    엑셀 범위를 HTML 형식으로 변경하는 방법은 관련 포스트를 참고하세요.

    1_HTML 코드 복사 붙여넣기

    줄바꿈을 변경할 문장을 복사하여 워드에 붙여넣기 합니다.

  2. 워드에서 단축키 CTRL + H 로 '찾기/바꾸기' 를 실행합니다.
    2_찾기 바꾸기 실행

    워드에서 찾기 및 바꾸기를 실행합니다.

  3. 찾을값은 ["], 바꿀값은 [""] 로 입력한 뒤 '모두바꾸기' 합니다. (대괄호([ ])는 생략)
    VBA 명령문에서 쌍따옴표(") 1개는 String(텍스트)를 구분하기 위한 기호로 인식합니다. 따라서 쌍따옴표 두개("")를 입력해 쌍따옴표를 텍스트 그대로 인인식할 수 있도록 변경합니다.

    3 쌍따옴표 모두 바꾸기

    쌍따옴표(")를 쌍따옴표 2개("")로 변경합니다.

  4. 찾을값은 [^p] , 바꿀값은 [" ^p str = str & "] 로 입력한 뒤 '모두바꾸기'합니다. (대괄호([ ])는 생략)
    MS워드에서 ^p는 줄바꿈을 의미합니다. 줄바꿈 뒤에 str = " 를 추가하여 str 이라는 변수가 이어지면서 문자열이 입력되도록 줄바꿈을 변경합니다.

    4 줄바꿈 모두 바꾸기

    줄바꿈을 찾아 줄바꿈 뒤에 str = " 를 추가하여 str 변수로 텍스트를 이어줍니다.

  5. 바뀐 문자열 앞에는 [str = "] 를 추가합니다.
    5 줄바꿈 앞 Str 추가

    바뀐 문자열 앞에는 Str = " 를 추가하여 변수 시작지점을 잡아줍니다.

  6. 바뀐 문자열 뒤에는 ["] 만 남도록 정리합니다.
    6 줄바꿈 마지막 쌍땅모표 남기기

    바뀐 문자열 뒷부분 필요없는 부분은 지워준 뒤, 쌍따옴표(")로 마무리합니다.

  7. 문자열을 전체 복사한 뒤 VBA 코드에 붙여넣기 하여 사용합니다.
    7 VBA 줄바꿈 문장 문제 해결 완료

    완성된 문자열을 복사/붙여넣기하여 VBA 코드에 사용할 수 있습니다.

댓글 남기기

avatar
  현재 페이지 댓글알림 신청  
알림 설정