Excel VBA에서 문자열을 숫자로 변환하는 방법(3가지 방법)

  • 이 공유
Hugh West

이 기사에서는 Excel VBA에서 문자열을 숫자로 변환하는 몇 가지 방법에 대해 설명합니다. 내장 함수를 사용하는 방법과 이를 사용하여 VBA 코드 예제를 통해 문자열을 숫자로 변환하는 사용자 지정 함수를 만드는 방법을 살펴보겠습니다.

실습 워크북 다운로드

이 기사를 읽는 동안 연습하려면 이 실습 통합 문서를 다운로드하십시오.

문자열을 숫자로 변환.xlsm

문자열을 숫자로 변환하는 3가지 방법 엑셀 VBA에서

1. 유형 변환 함수를 사용하여 문자열을 숫자로 변환

Excel은 여러 가지 기본 제공 유형 변환 함수 를 제공합니다. VBA 코드에서 이를 사용하여 문자열 데이터 유형에서 다른 데이터 유형으로 쉽게 변환할 수 있습니다.

1.1 문자열을 정수로

문자열 을(를) 변환하려면 정수 , 코드에서 CInt 함수 를 사용할 수 있습니다. CInt 함수 하나의 인수 만 취하며 숫자 값 이어야 합니다. Visual Code Editor에서 다음 코드를 실행해 보겠습니다.

8254

F5 를 눌러 실행 코드 . 출력은 MsgBox 에 표시됩니다.

CInt 함수 변환 숫자 문자열 ("12.3" )을 정수 12.

CInt 함수 에 대해 자세히 알아보려면 다음을 실행하세요. 코드 편집기에서 코드를 작성하고 관찰 결과 .

7493

출력 은 여기다음 스크린샷 .

코드 설명

이 코드에서는 For… 다음 루프 는 셀 B3:B7의 문자열에 CInt 함수 를 적용합니다. 출력 은 셀 C3:C7에 인쇄됩니다. Cells 함수 를 사용하여 입력 값과 출력 값을 인쇄할 위치를 지정했습니다.

결과

CInt 함수 25.5 다음 정수 26 로 변환했습니다. 한편, 10.3 10으로 변환한 것이지 11 로 변환한 것은 아니다. 10진수 값이 .5보다 작으면 함수는 같은 숫자로 내림합니다. 그러나 10진수 숫자 문자열 값은 같거나 이거나 .5보다 크면 다음 정수 숫자로 바뀝니다.

참고

정수 값의 범위는 -32,768 에서 32,767 사이입니다. 이 범위를 벗어난 숫자 값을 입력하면 Excel에 오류 .

1.2가 표시됩니다. String to Long

CLng 함수 는 숫자 문자열 값을 long 데이터 유형 으로 변환합니다. CInt 함수와 유사하게 작동합니다. 주요 차이점은 -2,147,483,648 2,147,483,647.

<1 사이의 범위 에 있습니다>

The code to run is here below:5955

여기서 B3:B9 셀에는 숫자 문자열 값 이 포함되어 있고 변환된 1 개의 숫자 가 셀 <에 있습니다. 3>C3:C9. CLng 기능 변환 -32800 32800 CInt 함수 가 할 수 없었던 긴 숫자 에 성공적으로 성공했습니다. 그러나 입력 숫자 값 범위를 벗어난 경우에도 오류 가 발생합니다.

1.3 문자열을 10진수로

CDec 함수 를 사용하여 변환할 수 있습니다. 숫자 문자열 값 10진수 데이터 유형. 다음 코드를 실행하여 B3:B7 숫자 값 10진수 데이터 유형 으로 변환합니다.

5604

1.4 문자열을 단일로

이 예에서는 입력 문자열을 단일 데이터 유형 (단일 -정밀 부동 소수점) 숫자. 이를 위해 CSng 함수 를 사용해야 합니다.

단일 데이터 유형 범위는- (i) -3.402823E38 ~ -1.401298E-45 음수 의 경우.

(ii) 1.401298E-45 에서 3.402823E38 의 경우 양수 숫자.

Visual Basic 편집기에서 다음 코드를 실행합니다.

4390

출력에서 셀 B3:B9 일부 숫자 문자열 값 을 포함하고 변환된 단일 데이터 유형 번호 가 셀 C3:C9. 에 있지만 오류 <도 발생합니다. 4>입력한 숫자값 범위를 벗어난 경우.

1.5 String to Double

이 예에서는 입력 문자열을 double 데이터 유형 (double-precision float -점) 숫자. 이를 위해 우리는 CDbl 함수 를 사용합니다.

더블 데이터 유형 범위- (i) -1.79769313486231E308 ~ -4.94065645841247E-324 for 음수 숫자.

(ii) 4.94065645841247E-324 ~ 1.79769313486232E3038 숫자 .

Visual Basic 편집기에서 다음 코드를 실행합니다.

1551

출력에서 B3:B9 셀에 숫자 문자열 값 변환된 이중 데이터 유형 숫자 는 셀 C3:C9. 에 있지만 오류 도 발생합니다. 3>숫자 값 이(가) 범위를 벗어났습니다.

1.6 String to Currency

currency 데이터 유형 은 계산이 과 관련된 경우에 유용합니다. 또한 고정 포인트 계산 에서 더 정확한 계산을 원한다면 통화 데이터 유형을 사용하는 것이 좋습니다. 문자열을 통화 데이터 유형 으로 변환하려면 CCur 함수 를 사용해야 합니다. 데이터 유형 범위는 -922,337,203,685,477.5808 에서 922,337,203,685,477.5808.

코드를 변환 숫자 문자열 값 B3:B7 에서 C3:C7 셀의 통화 데이터 유형 은 다음과 같습니다.

2185

1.7 문자열을 바이트로

CByte 기능 은 숫자 문자열 값을 에서 범위의 바이트 데이터 유형 으로 변환합니다. 0 ~ 255.

코드 는 다음과 같습니다.다음과 같음 :

3567

출력에서 셀 B3:B9 일부 숫자 문자열 값 을 포함하고 변환된 바이트 데이터 유형 번호 C3:C9. 셀에 있지만 오류 <4도 발생합니다>입력 숫자 값 범위를 벗어난 경우.

더 읽기: Excel에서 VBA를 사용하여 문자열을 Long으로 변환하는 방법

비슷한 읽기

  • Excel VBA에서 문자열을 Double로 변환(5가지 방법)
  • Excel VBA를 사용하여 텍스트를 숫자로 변환하는 방법(매크로를 사용한 3가지 예)
  • Excel에서 숫자로 변환 오류 수정(6가지 방법)
  • 엑셀에서 과학적 표기법을 숫자로 변환하는 방법(7가지 방법)

2. 사용자 지정 VBA 함수를 사용하여 Excel에서 문자열을 확인하고 숫자로 변환

이 그림에서는 변환을 위한 사용자 지정 함수 를 만들 것입니다. 문자열을 숫자로. 그런 다음 워크시트 에서 내장 함수 와 같은 맞춤 함수 를 사용할 수 있습니다. 이 예에서는 사용자 지정 함수를 만드는 동안 CInt 함수 를 사용하여 문자열을 정수 변환합니다. 또한 방법 1 에 설명된 다른 기능 을 모두 사용하여 문자열 다른 데이터 유형 으로 변환할 수 있습니다. 이제 아래 단계에 따라 이 작업을 수행합니다.

단계:

  • 여기 B3:B7, 셀에 몇 가지가 있습니다. 숫자 문자열values.

  • 이제 Visual Basic 편집기에서 다음 코드를 복사 하고 붙여넣기 하고 그런 다음 Ctrl + S 를 눌러 저장
9322
  • C3 입력 시작 함수 이름 ( StringToNumber ). Excel은 사용할 함수 자동으로 제안합니다. 탭 키 를 눌러 기능을 입력합니다.

  • 셀 참조를 B3에 넣습니다. 유일한 인수로.

  • 이제 괄호를 닫은 후 Enter 를 누릅니다.

  • C3 오른쪽 하단 모서리 에서 채우기 핸들 을 찾아 적용합니다. 셀에 대한 함수 C4:C7.

  • 최종 출력은 문자열 값에서 원하는 정수입니다. .

3. 셀의 선택한 범위를 Excel에서 숫자로 변환하는 VBA 코드

이 그림에서는 선택한 셀의 범위 를 변환합니다. 문자열 값을 정수로 포함합니다. 셀에 숫자가 아닌 값이 포함되어 있으면 출력은 대시(-) 선 이 됩니다. 단계 를 따르십시오:

  • 셀 선택 B3:B6 숫자 문자열 값 및 B7 포함 숫자가 아닌

  • Visual Basic Editor에서 복사 하고 붙여넣기 다음 code .
7710
  • 이제 F5 를 눌러 출력 실행 합니다. 다음 스크린샷 .

참고

  • 식을 숫자로 변환할 수 있는지 여부를 확인하는 VBA 코드의 두 번째 및 세 번째 방법 의 isNumeric 함수 .
  • In 방법 1 , 내장 함수(CInt, CDbl, CSng…..)를 사용하여 숫자 문자열 값 숫자 로 변환했습니다. 그러나 숫자가 아닌 값 이 있으면 불일치 오류 가 표시됩니다.

결론

이제 Excel에서 문자열 값을 숫자로 변환하는 방법을 알았습니다. 이 기능을 보다 자신 있게 사용하는 것이 좋습니다. 질문이나 제안 사항이 있으시면 아래 댓글란에 남겨주세요.

Hugh West는 업계에서 10년 이상의 경험을 가진 고도로 숙련된 Excel 트레이너이자 분석가입니다. 그는 회계 및 재무 학사 학위와 경영학 석사 학위를 보유하고 있습니다. Hugh는 교육에 대한 열정을 가지고 있으며 따라하기 쉽고 이해하기 쉬운 독특한 교수법을 개발했습니다. Excel에 대한 그의 전문 지식은 전 세계 수천 명의 학생과 전문가가 자신의 기술을 향상시키고 경력에서 탁월하도록 도왔습니다. Hugh는 자신의 블로그를 통해 자신의 지식을 전 세계와 공유하고 개인과 기업이 잠재력을 최대한 발휘할 수 있도록 무료 Excel 자습서 및 온라인 교육을 제공합니다.