반응형
엑셀에서 16진수 -> 10진수로 10진수 -> 16진수로 변환하는 함수가 있습니다. 함수명은 HEX2DEC(), DEC2HEX() 입니다. HEX2DEC() 는 16진수 -> 10진수로 DEC2HEX() 는 10진수 -> 16진수로 변환시켜 줍니다. 그런데 VBA 에는 그런 함수가 없습니다. 그래서 VBA 프로그램 작성할 때 좀더 편하게 쓰기 위해 함수로 만들었습니다.
▼ 아래 그림처럼 엑셀에 함수 리스트에는 진수변환 함수인 HEX2DEC(), DEC2HEX() 가 있습니다.
▼ 먼저 16진수에서 10진수로 바꾸는 함수를 만들어 보겠습니다. VBA 에서 10진수 변환함수는 Val() 입니다. 각 진수 함수는 다음과 같습니다.
l Oct() : 8진수 변환함수, 값 앞에 &0(영문자) 붙여야 한다.
l Hex() : 16진수 변환함수, 값 앞에 &H 붙여야 합니다.
l Val() : 10진수 변환함수
▼ Val() 함수를 사용해서 만든 10진수 변환 사용자 정의 함수 입니다. 앞에 &H 를 붙여야 합니다.
Function HEXTODEC(Hex As String) As Long HEXTODEC = Val("&H" & Hex) End Function |
▼ Hex() 함수를 사용해서 만든 16진수 변환 사용자 정의 함수 입니다.
Function DECTOHEX(Dec As Long) As String DECTOHEX = Hex(Dec) End Function |
▼ 위에서 만든 두 개의 함수를 적용한 결과 입니다.
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 셀 색상 변경하는 두 가지 방법 ▶ 엑셀 VBA 매크로 디버깅, 디버그 코드 분석하기 ▶ 엑셀 Excel VBA 개발을 위한 개발 도구 탭 추가하는 방법 ▶ 엑셀 Excel VBA 개발 도구를 이용해서 버튼 삽입하고 함수 연결하기 ▶ 엑셀 VBA 셀 영역 선택하는 여러가지 방법 |
반응형
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA Option Explicit 문 변수선언 에러 적용하기 (1) | 2023.03.20 |
---|---|
엑셀 VBA 모듈 소스 다른 통합 문서에 복사하기 (0) | 2023.03.17 |
엑셀 VBA 선택한 영역 재조절 기능 Selection.Resize 함수 사용하기 (2) | 2023.03.17 |
엑셀 VBA 문자가 포함된 숫자만 합치기 (0) | 2023.03.07 |
엑셀 VBA 반복문을 이용해서 폼에 있는 전체 컨트롤 제어하기 (0) | 2023.03.02 |
엑셀 VBA 단위 변환 사용자 정의 폼 만들기 (0) | 2023.03.01 |
엑셀 VBA 레지스트리 키값 읽어오기 (1) | 2023.02.24 |
엑셀 VBA 시트에서 데이터 셀 영역 구하기 (2) | 2023.02.22 |