이전 글에서 InputBox 함수에 대해 알아보았습니다. 이번에는 VBA 내장 함수중 Left, Mid, Right 함수에 대해 알아보겠습니다. 이 함수들은 엑셀 함수에도 동일한 함수가 있지만 VBA에서 이들 함수들이 어떻게 쓰이는지 알아보겠습니다.
1. Left 함수
Left 함수는 주어진 문자열의 좌측부터 해당 개수만큼 잘라내어 반환하는 함수입니다.
사용방법은 다음과 같습니다.
Left ( 문자열, 숫자 )
2. Mid 함수
Mid 함수는 주어진 문자열의 지정된 위치부터 해당 개수만큼 잘라내어 반환하는 함수입니다.
사용방법은 다음과 같습니다.
Mid ( 문자열, 시작 위치, 숫자 )
3. Right 함수
Right 함수는 주어진 문자열의 우측부터 해당 개수만큼 잘라내어 반환하는 함수입니다.
Left 함수와는 반대 방향으로 이동하면서 문자열을 잘라냅니다.
Right ( 문자열, 숫자 )
4. 예제를 통해 Left, Mid, Right 함수 사용법을 확인
엑셀 시트 B2 셀에 '1234567890'을 입력합니다. 그리고, VBE 창을 열고 Module을 생성합니다.
Module 코드 창에 다음과 같이 코딩을 합니다.
Option Explicit
Dim i, j, k As Integer
Public Sub 내장함수()
i = Left(Range("B2").Value, 3)
j = Mid(Range("B2").Value, 4, 3)
k = Right(Range("B2").Value, 3)
Range("D2").Value = i
Range("D3").Value = j
Range("D4").Value = k
End Sub
코드를 실행하면 D2 셀에는 '123', D3 셀에는 '456', D4 셀에는 '890'이 입력되어 있는 것을 보실 수 있습니다.
5. 엑셀 함수와의 차이점
VBA 내장 함수인 Left, Mid, Right 함수를 살펴보았습니다. 그런데, 엑셀의 함수와 비교했을 때 결과가 동일한 것처럼 보입니다. 하지만 VBA 내장 함수와 엑셀 함수의 다른 점이 있습니다.
다른 점을 확인하기 위해 엑셀 시트에서 C2 셀에는 '=Left(B2, 3)'을 입력하고, C3 셀에는 '=MID(B2, 4, 3)을, C4 셀에는 '=RIGHT(B2, 3)'을 입력합니다.
C열의 값은 엑셀 함수의 결괏값이고, D열의 값은 VBA 내장 함수의 결괏값입니다.
C열의 값은 셀의 좌측에 표시되어 있고, D열의 값은 셀의 우측에 표시되어 있는 것을 보실 수 있습니다.
이것은 C열의 값은 문자열이란 의미이고, D열의 값은 숫자라는 의미입니다.
즉, 엑셀 함수로 반환된 결괏값은 문자열로 반환되지만 VBA 내장 함수로 반환된 결괏값은 숫자형으로 반환되는 차이점이 있습니다. 더 정확하게 말하면 VBA 내장함수로 반환된 결과값은 Variant 데이터 형으로 입력된 값이 Integer형이므로 결괏값이 Integer형이 반환된 것입니다.
'엑셀 > VBA' 카테고리의 다른 글
VBA 내장 함수 - Is 함수, Len 함수 (0) | 2021.10.04 |
---|---|
VBA 내장 함수 - InStr, InStrRev (0) | 2021.09.30 |
VBA 내장 함수 - InputBox 함수 (0) | 2021.09.29 |
VBA 내장 함수 - MsgBox 함수 (0) | 2021.09.28 |
엑셀 VBA - Function 프로시저 인수 지정 없이 사용 (0) | 2021.09.27 |