Tuesday, March 06, 2007
Excel/엑셀 VBA] 배열 선언, Array 함수로 초기화 출력 예제; Array Function Example
엑셀 비베에서 배열을 선언하는 방법입니다. 배열의 요소들을 초기화하는 가장 편리한 방법은 Array 함수를 사용하는 것입니다. 그렇지 않으면 배열 요소들을 하나씩 대입해 주어야 하기에 불편합니다. 다음 예제와 같습니다.
LBound() 와 UBound() 함수를 사용하여, 배열 첨자의 범위를 자동으로 판단하게 했습니다.
(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
위의 비베 매크로를 실행하면, 첫번째 메시지 상자에는
---------------------------
Microsoft Excel
---------------------------
(0)번 요소의 값: AA
(1)번 요소의 값: BB
(2)번 요소의 값: CC
(3)번 요소의 값: DD
(4)번 요소의 값: EE
(5)번 요소의 값: FF
---------------------------
확인
---------------------------
이런 결과가 나오고, 두번째 상자에는
---------------------------
Microsoft Excel
---------------------------
AA
BB
CC
DD
EE
FF
---------------------------
확인
---------------------------
이런 결과가 나옵니다. "For Each"문으로는 첨자에 직접 억세스할 수 있는 방법이 없더군요.
Array 함수 없이, 직접 대입하여 초기화: ▶▶ 엑셀/VBA] 배열 선언 초기화; VB ARRAY Initialize Example
▶▶ Excel/엑셀] VBA 2차원 배열 선언 초기화 출력 예제; Two Dimensional Array
LBound() 와 UBound() 함수를 사용하여, 배열 첨자의 범위를 자동으로 판단하게 했습니다.
비베(VBA) 배열 선언, 초기화 예제 소스
(엑셀에서 Alt+F11키를 눌러, 비베 에디터를 실행하고, 비베 에디터 메뉴의, "삽입 > 모듈"을 선택한 후, 다음 코드를 붙여 넣습니다.)
비베 에디터에서 F5 키를 누르거나, 엑셀에서 Alt+F8 키를 누르면 VBA 매크로가 실행됩니다.
Sub Array_1D_Print_Example()
' 배열 선언
Dim a
' 배열 초기화
a = Array("AA", "BB", "CC", "DD", "EE", "FF")
Dim S, S2, I, Temp
' 배열 요소들을 문자열로 저장
For I = LBound(a) To UBound(a)
S = S & "(" & I & ")번 요소의 값: " & a(I) & Chr(13)
Next I
' 배열 내용 출력
MsgBox S
' 이번에는 위와는 달리, For Each 문으로
For Each Temp In a
S2 = S2 & Temp & Chr(13)
Next
' 배열 내용 출력
MsgBox S2
End Sub
' 배열 선언
Dim a
' 배열 초기화
a = Array("AA", "BB", "CC", "DD", "EE", "FF")
Dim S, S2, I, Temp
' 배열 요소들을 문자열로 저장
For I = LBound(a) To UBound(a)
S = S & "(" & I & ")번 요소의 값: " & a(I) & Chr(13)
Next I
' 배열 내용 출력
MsgBox S
' 이번에는 위와는 달리, For Each 문으로
For Each Temp In a
S2 = S2 & Temp & Chr(13)
Next
' 배열 내용 출력
MsgBox S2
End Sub
위의 비베 매크로를 실행하면, 첫번째 메시지 상자에는
---------------------------
Microsoft Excel
---------------------------
(0)번 요소의 값: AA
(1)번 요소의 값: BB
(2)번 요소의 값: CC
(3)번 요소의 값: DD
(4)번 요소의 값: EE
(5)번 요소의 값: FF
---------------------------
확인
---------------------------
이런 결과가 나오고, 두번째 상자에는
---------------------------
Microsoft Excel
---------------------------
AA
BB
CC
DD
EE
FF
---------------------------
확인
---------------------------
이런 결과가 나옵니다. "For Each"문으로는 첨자에 직접 억세스할 수 있는 방법이 없더군요.
Array 함수 없이, 직접 대입하여 초기화: ▶▶ 엑셀/VBA] 배열 선언 초기화; VB ARRAY Initialize Example
▶▶ Excel/엑셀] VBA 2차원 배열 선언 초기화 출력 예제; Two Dimensional Array
tag: office
엑셀 Excel | 워드 Word | VBA 매크로 | 오피스
<< Home