[VBA 제 49강] 배열(Array)에 대하여Ⅰ 썸네일 이미지
[VBA 제 49강] 배열(Array)에 대하여Ⅰ
콘텐츠 타입 MS 오피스 엑셀 2003(2007, 2010가능), Windows XP 이상
용량0KB
조회1,244
즐겨찾기
[VBA 제 49강] 배열(Array)에 대하여Ⅰ를 즐겨찾기 한 횟수는 0 0입니다.
이용등급 유료 (회원권 or 단품 구매)
제품 상세정보

 

 

 




[ 기초 강좌 ]

 

제 49강

배열(Array)에 대하여Ⅰ

 

배열(Array)에 대하여 알아봅니다.

이럴 때 필요해요    

배열식을 이용하여 데이터를 구해낼때 사용됩니다.

이렇게 사용해요

 먼저, 오른 쪽의 버튼(Array_1)을 눌러 나타 나는 결과를 살펴 보시기 바랍니다.

 

 

[VBA 제 49강] 배열(Array)에 대하여Ⅰ
[VBA 제 49강] 배열(Array)에 대하여Ⅰ
 

  Dim MyWeek As Variant

  Dim i As Integer

   

  MyWeek = Array("월", "화", "수", "목", "금", "토", "일")

 

  For i = 0 To 6

    Range("C6").Offset(0, i) = MyWeek(i)

  Next i

 

End Sub

먼저, MyWeek라는 가변형(Variant)변수를 선언해 준 다음 ....

 MyWeek = Array("월", "화", "수", "목", "금", "토", "일") 라고 변수 MyWeek는 배열(Array)값임을

정의합니다.

For~Next 순환문을 사용하여, 배열형식의 변수 MyWeek에서 변수 i에 해당하는 값을 C6 셀부터

한 칸씩 오른 쪽으로 뿌려 줍니다.

즉, MyWeek(0), MyWeek(1), MyWeek(2), MyWeek(3), MyWeek(4), MyWeek(5), MyWeek(6)의

값("월", "화", "수"....  "일" 등)을 차례로 구하게 됩니다.

여기서 특이한 점은, 배열(Array)에서의 최초값은 1이 아니라 0이라는것입니다.

즉, 위 프로시저의 경우 MyWeek(0)에 해당하는 값은 "월", MyWeek(1)의 값은 "화" ...

마지막 MyWeek(6)에 해당하는 값은 "일"이 됩니다.

다시 오른 쪽의 버튼을 눌러 나타 나는 결과를 살펴 보시기 바랍니다.

[VBA 제 49강] 배열(Array)에 대하여Ⅰ
 

 

 

앞서의 [Array_1] 이라는 프로시저와 다른 점은 아래와 같이 변수 i에 대한 정의 부분입니다.

For i = LBound(MyWeek) To UBound(MyWeek)

버튼에 연결된 프로시저의 경우처럼 배열의 개수(7개)가 적으므로  For i = 0 To 6 과 같이, 직접 0과 6 등의

숫자를 지정해 주어도 됩니다만, 배열의 개수가 많거나 또는 유동적일 경우에는 Lbound와 Ubound 함수를

사용하면 편리합니다.

여기서 Lbound(MyWeek)는 제일 낮은 배열순서인 0을, Ubound(MyWeek)는 제일 높은 배열순서인 6을

의미합니다. 참고로 Lbound와 Ubound 에서의 L은 Lower, U는 Upper의 약자입니다.

 

첫번째방법 프로시저의 경우에는, 각 셀별로 접근해서 조건에 만족하는 값들을

순환해서 합하는 방법이고, 


두번째방법 에 연결된 프로시저는 전체 데이터의 범위를 배열로 처리해서

조건에 맞는 값을 한꺼번에 뿌려 준 후 더하는 방법입니다.

[Data]시트의 데이터 형태와 같이 조건이 많지 않고, 비교적 크지 않은 범위의 경우에는 그다지 큰 차이를

느낄 수 없습니다만, 그렇지 않은 경우에는 첫번째 프로시저보다 두번째 프로시저의 실행속도 가 훨씬 빠른걸 알수있습니다!

 

//오늘은 여기까지~^^


 

저작권정보
1. 콘텐츠의 저작권은 쿠키(www.coukey.co.kr)에 있으며, 사용권한은 1인 1카피입니다.
2. 다운로드 받은 콘텐츠는 본인(본인회사)만 사용할 수 있습니다.
3. 다른 사람과 공유하거나 원본 또는 수정 후 무단전제,무단배포,무단판매,무단 공유할 수 없습니다.
4. 웹상에서 배포는 상업,비상업적 목적을 불문하고, 손해배상등 가중처벌됩니다.
[VBA 제 49강] 배열(Array)에 대하여Ⅰ
이용후기

업무자동화 맞춤제작

고객님의 상황에 100% 맞춘 콘텐츠 제작 전문 서비스를 이용해 보세요.
프리미엄 무료 이벤트 중