mwultong Blog ... 프로그래밍 / 계산기

컴퓨터 엑셀 워드 포토샵 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Tuesday, March 06, 2007

Excel/엑셀 VBA] 배열 선언, Array 함수로 초기화 출력 예제; Array Function Example


엑셀 비베에서 배열을 선언하는 방법입니다. 배열의 요소들을 초기화하는 가장 편리한 방법은 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


위의 비베 매크로를 실행하면, 첫번째 메시지 상자에는

---------------------------
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 매크로 | 오피스

0 Comments:

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Previous Posts
Monthly Archives
Top