2016-09-14 2 views
0

스프레드 시트의 텍스트를 양식 텍스트 상자에 넣으면 텍스트에 추가 문자가 생깁니다.VBA 텍스트 상자 보이지 않는 문자

텍스트 상자의 내용을 스프레드 시트 셀의 원본 텍스트와 나란히 셀에 넣었습니다. 원본 텍스트와 텍스트 상자 텍스트 모두에 LEN() 함수를 사용하면 텍스트 상자 텍스트는 25이고 원본 텍스트는 24입니다.

제 질문은 텍스트가 다른 이유입니다. 나는이 여분의 성격이 무엇인지 알 수 없다.
텍스트는 CTLLF으로 구분 된 2 줄입니다. 나는 또한 Trim() 기능을 사용하려고 시도했다.

아무도 알아 냈습니까? 양식 텍스트 상자에 보이지 않는 문자가 추가 된 경우 두 텍스트를 비교하여 일치시킬 수 있습니까?

아래 첫 번째 행은 A 및 B 셀에 대해 LEN() 기능입니다.
두 번째 행은 스프레드 시트 원래 셀의 값이고 두 번째 행은 동일한 값이지만 양식의 텍스트 상자에 입력 한 다음 스프레드 시트로 다시 출력합니다.

enter image description here

+1

"텍스트 상자의 내용을 어떻게 배치합니까?" 텍스트를 전송하는 데 사용하는 코드를 게시 할 수 있습니까? – Comintern

답변

0

비 인쇄 문자의 대부분을 확인하려면, Wrap Text

그것이 무엇인지 문자 코드를 찾으려면 터미널 및 해제 토글로 글꼴을 변경, 당신은 CODE 기능을 사용할 수 있습니다 :

,691,363 : 비 인쇄 가능한 ASCII 문자를 제거하려면
= Code(Mid(A2, 6, 1)) 

, 당신은 CLEAN 기능을 사용할 수 있습니다 (210)

= Clean(A2) 
는 공간이 바로 줄 바꿈 문자를 교체하려면 :

= SUBSTITUTE(A2, CHAR(10), " ") 

Remove spaces and nonprinting characters from text

+0

시트에서 트릭을 깨끗하게 처리 할 수 ​​있지만 코드에서 어떻게 처리 할 수 ​​있습니까? Ok는 그것을 이해했다. :) WorksheetFunction.Clean() – user3490906

1

엑셀 세포에서 line break charactervbLf를 사용합니다. vbCr 문자는 줄 바꿈에 사용되지 않고 will은 상자 (오래된 Excel) 또는 공백 (최신 Excel) 중 하나로 표시됩니다.

Excel 셀에 텍스트를 넣으려면 vbCrLf을 먼저 vbLf으로 바꿉니다.

+0

적어도 Excel 2013에서 클립 보드의 셀에'vbCrLf'를 붙여 넣으면 Excel에서 클립 보드에서 나오는'vbCr'을 제거합니다. 값 (즉, Range ("A1"). Value = "A"& vbCrLf & "B"')을 직접 지정하면 셀 값이 제거되지 않습니다. – Comintern

+0

좋아요. 대체 어떻게해야합니까? – user3490906

+0

나는 또한이 "_x000D_" – user3490906

0

좋아요. 문제가 해결되었습니다. 워크 시트 함수를 사용 중입니다. WorksheetFunction.Clean() 이 작업은 수행 할 것이므로 다른 작업을 수행 할 필요가 없습니다. 입력 해 주셔서 감사합니다. :)