Trim(sSplit(2))
이 후행 공백을 제거하지 않으면 문자열이 공백으로 보이지만 실제로는 다른 문자로 끝날 가능성이 있습니다.
Asc()
함수를 사용하여 맨 오른쪽 문자의 ASCII 값을 결정하십시오. 공백 문자는
Debug.Print Asc(Right(sSplit(2), 1))
또한
문자의 수를 확인 ASCII 32
입니다. 4보다 큰 경우
"rpw" 다음에 두 개 이상의 문자가옵니다. 코멘트에서
Debug.Print Len(sSplit(2))
, 당신은 ASCII 10. 당신은 모든 라인은 라인 피드가 마지막 문자가 아닌 경우, 문자열 피드를 폐기하기 위해
Replace()
기능을 사용할 수 있습니다, 문제의 문자가 줄 바꿈 문자보고 . 또는 문자열 내에 줄 바꿈이 있고 그 줄을 유지하려는 경우
Left()
문자열의 길이에서 1을 빼고 마지막 문자 만 무시할 수 있습니다.
여기에는 직접 실행 가능한 세션이 있으므로 명확하게 이해할 수 있습니다. 더 편리 경우
' this variable is a proxy for the 3rd element of your array
sSplit_2 = "rpw" & Chr(10)
? Len(sSplit_2)
4
? ">" & sSplit_2 & "<"
>rpw
<
' use Replace to discard every line feed from the string
? ">" & Replace(sSplit_2, Chr(10), "") & "<"
>rpw<
' extract all but the last character of the string
? ">" & Left(sSplit_2, Len(sSplit_2) -1) & "<"
>rpw<
, 당신은 당신 Split
그 전에 "A" 문자열에서 후행 줄 바꿈을 폐기 할 수있다.
예, 길이가 3 대신에 4 ...하지만 해결책이 될 수 있습니다 ... 나는 엑셀 시트에서 어떤 공간도 찾을 수 없습니다 ..... – SAM244776
내가 말했듯이 시트를 능가하십시오 ... 지금 엑셀 시트에는 많은 행이 있으며 각기 다른 값을 가지고 있습니다 ... 언급 한 바와 같이 현재는 단 한 행으로 만 문제가 있습니다. 그래서 내가 왼쪽으로 갈라져 나간다면 다른 단어들이 더 길어지고 또한 짧아 질 수 있습니다 .... 나는 당신이 내 문제를 갖기를 희망합니다 .... 내가 찾고있는 해결책은 이것들을 없애는 것입니다 여분의 공백이나 그들이 존재하는 이유 – SAM244776
'Asc()'는 그 뒷부분 문자의 ASCII 값을 무엇으로 알려 줍니까? – HansUp