brunch

You can make anything
by writing

C.S.Lewis

by 별더하기 Oct 31. 2020

#20강 - 문자열 길이 조절

아래 그림은 검색엔진 ‘G’에서 VBA를 검색한 결과의 일부입니다.

검색 결과는 위에 보이는 내용이 끝이 아닙니다.

더 많은 정보를 포함하고 있습니다.

그런데 어떤 이유에서건 그 결과를 적당한 수준에서 끊어서 보여줍니다.

더해서 어느 부분을 집어서 보여줄지도 선정해야 합니다.

즉 내용을 적절히 조절해서 노출시키는 것입니다.

어떻게 이런 조절이 가능한 것일까요?

그 해답을 하나씩 풀어봅니다.


전달된 인자 x1을 왼쪽에서 x2의 길이만큼, 오른쪽으로 x2의 길이만큼 자르는 함수입니다.

앞뒤에서 원하는 만큼 결과를 취하는 함수인 것입니다.


Sub F20_01()


Dim LEFT_T, RIGHT_T As String


LEFT_T = “LEFT 함수는 왼쪽에서 지정된 길이만큼 잘라내는 함수입니다.”

LEFT_T = Left(LEFT_T, 10)


RIGHT_T = “RIGHT 함수는 오른쪽에서 지정된 길이만큼 잘라내는 함수입니다.”

RIGHT_T = Right(RIGHT_T, 10)


Worksheets(“Sheet1”).Cells(2, 2).Value = LEFT_T

Worksheets(“Sheet1”).Cells(3, 2).Value = RIGHT_T


End Sub


LEFT 함수와 RIGHT 함수는 원하는 길이만큼 앞뒤에서 잘라내는 함수입니다.

그런데 F20_01의 실행 결과의 문자 개수를 세어 보면 LEFT는 8개, RIGHT는 마침표를 포함해서 9개가 출력됐습니다.

채 10개가 되지 않습니다.

왜 이런 결과가 출력될까요?

그 이유는 바로 공백도 하나의 문자로 인식되기 때문입니다.

이 점만 잊지 않으면 큰 문제는 없습니다.


Mid 함수는 총 3개의 인자가 필요합니다.

x1을 x2를 시작 지점으로 해서 x3의 길이만큼 부분 반환하는 함수입니다.

원하는 위치에서 원하는 길이만큼 출력하는 것입니다.

Sub F20_02()

Dim Mid_T As String

Mid_T = “현재 VBA의 위치는 4번째 부터입니다.”

Mid_T = Mid(Mid_T, 4, 19)

Worksheets(“Sheet1”).Cells(2, 2).Value = Mid_T

End Sub


https://youtu.be/e5j5sseAem0


http://www.yes24.com/Product/Goods/84909299


매거진의 이전글 #19강 -  로또 번호 만들기
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari