| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- NETCONF #YANG #SNMP #
- RAID #RAID0 #RAID 1 #RAID 10 #디스크 #스토리지
- 라인코딩 #Line Coding
- AWGN #백색잡음 #통신 #화이트노이즈
- PoE #PoC #EoC #이중화 #인프라 #전기통신
- 멀티캐스트 #IGMP #클래스D #PIM #배달 트리
- 웨이블릿 #Wavelet #파동 #신축성
- 오버레이 #언더레이 #터널링 #캡슐화 #유연성
- 통신이론
- 애드센스 #최적화 #Adsense
- Content #operation #RPC #Commit
- RAID 01 #RAID 10
- 스트라이핑 #미러링 #패리티 #리빌딩 #핫스페어
- 망중립성 #기술중립성
- 차량감지기 #VDS #CCTV #AI #차량
- 이더넷 #이더넷II #정보통신
- 트랜지스터 #전자회로 #BJT #MOSFET #공학원리 #전자공학
- 정보이론 #엔트로피 #상호정보량 #통신이론
- 접지저항 #통신설비 #접지 #ground
- HA #LACP #VRRP #Link #이중화
- STP #Topology
- 공간 #시간 #주파수 #편파 #사이트 #각 #다이버시티
- vlan
- ERPS #STP #RPL #G.8032 #R-APS #50ms
- das #nas #san #스토리지 #storage #스위치
- CA #MIMO #CoMP #Relay
- MPLS #IPSec #SD-WAN #SASE
- 미국기술사 #PE #미국 기사 #FE #전자공학과 #단기합격 #전자공학 #전기공학 #ECC #Electronic #Electrical and computer #FE 문제집
- 코어 #광케이블 #클래딩 #전반사 #코팅 #임계각 #전반사 #스넬의 법칙
- Today
- Total
Creative Thinking Warehouse To be Rich
[엑셀VBA] Type (사용자 정의 자료형) 사용하기 본문
[엑셀VBA] Type (사용자 정의 자료형) 사용하기
LASER - 기술통역가 2024. 2. 29. 21:45고객 정보를 관리할 때 한 고객에 대해서 고객번호, 이름, 주소, 핸드폰 번호, 나이, 성별 등 여러 가지 요소를 저장해야 한다면 각각의 변수들을 따로 선언해야 합니다. 또 관리해야 할 고객이 여러 명인 경우에도 각각의 변수를 배열로 선언해야 합니다. 예를 들면 고객 정보를 담는 변수를 다음과 같이 선언해야 합니다.
dim no(100) as long
dim name(100) as string
dim address(100) as string
dim cellphone(100) as string
dim age(100) as integer
dim sex(100) as string
하지만 이와 같은 방식의 코딩은 프로그래머를 힘들게 합니다.
직관적이지 않을 뿐더 변수를 다루기가 번거롭습니다.
그래서 여러 개의 변수를 하나의 묶음으로 처리할 수 있도록 Type이라는 형식을 이용하는 것이 훨씬 편리합니다.
Type은 프로그래밍 언어에서 구조체(Structure)라고 부르는 형식이며, 하나 이상의 여러 변수를 포함하는 사용자 정의 데이터 형식입니다.
위에서 예로 든 각각의 배열문을 Type 형식으로 변환해 보겠습니다.
Type 은 시트의 코드창에 작성하지 않고 반드시 모듈을 삽입한 다음 해당 모듈에 작성해야 합니다.
자료를 담기 위한 사용자 정의 형식의 변수 선언이기 때문에 모듈에 선언하는 것입니다.
모듈은 일종의 중립 지대와 같은 곳으로 모듈에 코드를 작성하면 시트 코드창이나 엑셀안의 다른 곳에서도 불러 쓸 수 있습니다. 전역 변수의 선언이나 Type 형식의 선언을 사용할 때, 그리고 타이머 등을 설정할 때, 해당 기능이나 변수를 공통적으로 사용하기 위해서 모듈을 사용합니다.
Type Client
no As Long
name As Sring
address As String
cellphone As String
age As Integer
sex As String
End Type
Client라는 Type을 선언하고 이 안에 고객번호, 이름, 주소 등의 변수를 선언합니다.
이제 100명의 고객 관리를 위해 변수를 만들어야 할 때 Type을 이용해 간단하게 선언하면 됩니다.
아래 코드는 모듈이 아닌 Sheet1의 코드창에 작성합니다.
Sub test()
Dim MyClient(100) As Client
MyClient(0).no = 1
MyClient(0).name = "홍길동"
MyClient(0).address = "서울 종로구"
MyClient(0).cellphone = "010-123-4567"
MyClient(0).age = 40
MyClient(0).sex = "Male"
MsgBox MyClient(0).no & " 번째 고객 정보" & vbCr & _
"이름: " & MyClient(0).name & vbCr & _
"주소: " & MyClient(0).address & vbCr & _
"핸드폰:" & MyClient(0).cellphone & vbCr & _
"나이: " & MyClient(0).age & vbCr & _
"성별: " & MyClient(0).sex
End Sub'Engineering (+investing insight) > 3. 컴퓨터 시스템' 카테고리의 다른 글
| [엑셀VBA] 실시간 데이터(Real-Time Data) 확보하기 (2) | 2024.03.01 |
|---|---|
| [엑셀VBA] 파일 입출력하기 (2) | 2024.03.01 |
| [엑셀VBA] 문자열 연산하고 토큰 처리하기 (0) | 2024.02.29 |
| [엑셀VBA] 꾸미기 (Decoration) (0) | 2024.02.29 |
| [엑셀 VBA] 오류 처리 (On Error)하기 (0) | 2024.02.29 |
