따옴표 없이 엑셀 글자 복사하기

by 지천명영어 posted Jun 08, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

2022.5.28 새로운 버전으로 업그레이드 되었습니다.

 

따옴표없는복사(지천명영어)_02.xlsm (클릭 다운로드)

 

2022-05-28 16 45 37.png

(그림을 클릭하면 큰그림으로 자세히 볼 수 있습니다.)

 

사용법은 아주 간단합니다. "변경전문자" 행에 원하는 글자를 붙여넣고, 리본메뉴 지천명영어 - 서식포함복사를 누르면 끝입니다.

 

글꼴, 글꼴 크기, 밑줄, 글꼴 색상 등을 유지하면서, 따옴표를 없애 줍니다. 

 


아래는 업그레이드 이전 자료입니다.


 

엑셀에 있는 셀을 복사할 경우 따옴표(")가 생기는 경우가 많이 있습니다.

 

이 이유는 아마도 엑셀에서 숫자와 문자열 구분하기 위해서 따움표를 사용하는데, 문자열인 경우 따옴표를 붙여서 복사됩니다.

 

일반적인 경우에는 매크로로 클립보드에 문자를 넣고 클립보드에서 복사를 하면되지만, 단점이 있습니다.

엑셀에서 직접 복사를 하는 경우에는 엑셀에 있는 서식까지 복사가 되기 때문에, 글자색 등으로 그래로 복사해서 사용할 수 있지만, 클립보드에 넣게되면, 서식은 사용할 수 없습니다.

 

그래서, 엑셀을 자주 사용해서 데이터 작업과 블로그 포스팅을 할때 서식을 유지하면서, 복사를 하고 싶을 때, 사용하는 프로그램을 소개합니다.

 

이 프로그램 필요성은 다음과 같은 문장을 다량으로 복사할때 아주 유용합니다.

 

 

이미지 2.png

 

위와 같은 문장이 있다고 가정하면, 5번째 줄에 있는 캐리지 리턴(줄바꿈) 때문에 다음과 같은 따옴표가 생기게 됩니다.

 

1. 일반적인 복사 / 붙여넣기 실행한 경우 - 따옴표 발생, 서식 삭제됨(순수한 텍스트만 남음)


서로 어떻게 해서든 해명하고 싶다

공통된 수수께끼를 위해서 조금만

팔짱만 꼈을 뿐이야.

근데 어느 틈에 손을 잡으셨어요?

"루크, 너는 슈뢰더 박사님을 만나러 갔을 때 

부자연스럽다고는 생각지 못했어."

 

별로... 생각이 안 났는데요?

방에 들어간 슈뢰더 박사가

우리에게 했던 말 기억나니?


 

 

2. MS 워드에 붙여넣은 경우 - 따옴표는 없으나, 엑셀의 표 형태가 남아 있음

 

이미지 001.png

 

즉, 위와 같이 일반적인 복사/붙여넣기로 해결이 안되는 문제를 간단하게 해결하기 위해서 만들었습니다.

 

사용법은 아주 간단합니다.

 

글자복사 버튼을 누르면 끝. 원하는 곳에 마우스 우클릭 - 붙여넣기 하면 다음과 같이 따옴표도 없으면서, 엑셀 표도 없는 깔끔한 문장만 복사됩니다.

 

프로그램 사용 후 복사 붙여넣기 결과물

 


서로 어떻게 해서든 해명하고 싶다

공통된 수수께끼를 위해서 조금만

팔짱만 꼈을 뿐이야.

근데 어느 틈에 손을 잡으셨어요?

루크, 너는 슈뢰더 박사님을 만나러 갔을 때
부자연스럽다고는 생각지 못했어.

 

별로... 생각이 안 났는데요?

방에 들어간 슈뢰더 박사가

우리에게 했던 말 기억나니?


 

파일다운로드 : 따옴표없는복사(지천명영어)_01.xlsm

 

(파일명이 변경되면 작동하지 않습니다.)

 


 

소스파일 - 아주 간단하면서도 유용합니다.

 

 

 

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
Sub 글자만복사하기()
 
Dim i, j, MR As Integer
MR = Cells.Find("*", , , , xlByRows, xlPrevious).Row          '복사해야할 마지막 행번호 찾기
 
파일명체크          '파일명이 바뀌었는지 확인하기
 
    Dim wrdApp As Object
    Dim wrdDoc As Object
    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = wrdApp.Documents.Add
    
    wrdApp.Visible = False
    Range(Cells(51), Cells(MR, 1)).Copy         '복사할 곳
 
    With wrdDoc.Content
        .PasteExcelTable FalseFalseFalse      '워드에 붙어넣고
        .Tables(1).Rows.ConvertToText             '표 없애기
    End With
    
    wrdApp.Selection.WholeStory
    wrdApp.Selection.Copy                         '워드에서 내용을 복사해서 클립보드에 넣기
    wrdDoc.Close False
    wrdApp.Quit                                   '워드 종료하기
    
If MR >= 5 Then CreateObject("WScript.shell").popup "복사완료" & vbNewLine & vbNewLine & "Ctrl + v로 붙여넣기 하세요"1"1초후에 이 메시지 없어져요"
 
End Sub
cs