Sunday, December 17, 2006
엑셀/VBA매크로] 배열 크기 사이즈, 요소 개수 구하기; VB Array Size, Length
엑셀(Excel) 비베에서, 배열 크기 즉 배열 요소의 개수를 구하는 방법입니다.
배열 최대 첨자를 반환하는 UBound() 함수의 값에서, 배열 최소 첨자를 반환하는 LBound() 함수의 값을 빼준 후, 플러스 1을 하면, 배열 사이즈가 구해집니다.
(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
Dim foo(-1 To 10)
이렇게 배열을 선언하면, 12개의 배열 요소가 들어갈 공간이 확보됩니다. 이 사이즈를 구하는 것입니다.
위의 VBA매크로를 실행하면, 메시지 박스에 12 라는 값이 출력됩니다.
배열을 다음과 같이 초기화해 줄 수도 있지만, 초기화 여부와 상관없이 12 가 나옵니다.
▶▶ Excel/엑셀 VBA] 문자열 크기/길이, 글자 수/바이트 수 계산 함수; String Size Function
배열 최대 첨자를 반환하는 UBound() 함수의 값에서, 배열 최소 첨자를 반환하는 LBound() 함수의 값을 빼준 후, 플러스 1을 하면, 배열 사이즈가 구해집니다.
Excel VBA: 배열 크기 구하기 예제
(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
Sub Array_Size_Test()
Dim foo(-1 To 10) ' -1 에서 10 까지, 12개의 요소 선언
MsgBox UBound(foo) - LBound(foo) + 1
End Sub
Dim foo(-1 To 10) ' -1 에서 10 까지, 12개의 요소 선언
MsgBox UBound(foo) - LBound(foo) + 1
End Sub
Dim foo(-1 To 10)
이렇게 배열을 선언하면, 12개의 배열 요소가 들어갈 공간이 확보됩니다. 이 사이즈를 구하는 것입니다.
위의 VBA매크로를 실행하면, 메시지 박스에 12 라는 값이 출력됩니다.
배열을 다음과 같이 초기화해 줄 수도 있지만, 초기화 여부와 상관없이 12 가 나옵니다.
foo(-1) = "ㅎㅎ"
foo(0) = "자장면"
foo(1) = "탕수육"
foo(2) = "군만두"
...
foo(10) = "팔보채"
foo(0) = "자장면"
foo(1) = "탕수육"
foo(2) = "군만두"
...
foo(10) = "팔보채"
▶▶ Excel/엑셀 VBA] 문자열 크기/길이, 글자 수/바이트 수 계산 함수; String Size Function
tag: office
엑셀 Excel | 워드 Word | VBA 매크로 | 오피스
<< Home