엑셀 VBA 긴 텍스트 줄바꿈 문제 해결 총정리 :: 엑셀 위키

VBA 편집 시 긴 텍스트 줄바꿈 문제의 해결 방법을 단계별로 알아봅니다.

# 엑셀기능&팁

작성자 :
오빠두엑셀
최종 수정일 : 2021. 10. 31. 18:18
URL 복사
메모 남기기 : (1)

요약 :: 엑셀 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 코드문, 의 경우 쌍따옴표(")가 아닌 홑따옴표(') 가 사용됩니다. 따라서 필요에 따라 쌍따옴표 변경하는 과정을 생략 후 진행합니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.

  • [VBA예제] 줄바꿈 문제 해결 (엑셀 팁)
    예제파일

상세설명

  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 코드에 사용할 수 있습니다.
5 1 투표
게시글평점
1 댓글
Inline Feedbacks
모든 댓글 보기
1
0
여러분의 생각을 댓글로 남겨주세요.x