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