본문 바로가기

엑셀/VBA

VBA 내장 함수 - Val 함수, Str 함수

반응형

이전 글에서 문자를 치환해주는 Replace 함수에 대해 알아보았습니다. 이번에는 Val 함수, Str 함수에 대해 알아보겠습니다.

 

VBA 내장 함수 - Replace 함수

 

VBA 내장 함수 - Replace 함수

이전 글에서 Is 함수와 Len 함수에 대해 알아보았습니다. 이번에는 Replace 함수에 대해 알아보겠습니다. VBA 내장 함수 - Is 함수, Len 함수 VBA 내장 함수 - Is 함수, Len 함수 이전 글에서 InStr 함수와 InSt

mr-johndoe.tistory.com

 

 

 

 

1. Val 함수

 Val 함수는 지정한 문자열에서 숫자를 나타내는 문자만을 찾아내는 함수입니다. 숫자 이외의 문자는 숫자로 인식하지 않으며 특수 문자 중에서 '.'만 숫자로 인식합니다. 

 

사용방법은 다음과 같습니다.

 

  Val ( 문자열 )

 

2. Str 함수

 Str 함수 지정한 숫자를 문자열 형식( Variant(String) )으로 반환하는 함수입니다. 

 

사용방법은 다음과 같습니다.

 

  Str ( 숫자 )

 

 

 

 

3. 예제로 확인하기

 엑셀을 여시고 B2 셀에는 '2021년', B3 셀에는 '2021', B4 셀에는 '1,234', B5 셀에는 '12.34'를 입력합니다.

그리고, VBE 창을 열고 Module을 생성하고 Module 코드 창에 다음과 같이 작성합니다.

 

   Public Sub 문자숫자변환()

     Dim i As Integer

     Dim s As String

 

     s = Range("B2").Value

     i = Range("B3").Value

 

     Range("C2").Value = Val(s)

     Range("C3").Value = Str(i)

 

     Range("C4").Value = Val(Range("B4").Value)

     Range("C5").Value = Val(Range("B5").Value)

   End Sub

 

C4 셀을 보시면 '1234'가 출력되어 있는 것을 보실 수 있습니다. 이는 B4 셀에 입력되어 있는 '1,234'에서 콤마(,)를 제외하였음을 알 수 있습니다.

 

반면 C5 셀을 보시면 '12.34'가 출력된 것을 보실 수 있습니다. 그러므로 Val 함수는 소숫점(.)을 숫자로 인식하여 값을 반환해주는 것을 알 수 있습니다.

 

반응형