본문 바로가기

엑셀/VBA

VBA 내장 함수 - Array 함수

반응형

이전 글에서 날짜, 시간 관련 VBA 내장 함수에 대해 알아보았습니다. 이번에는 Array 함수에 대해 알아보겠습니다. 배열 변수에 데이터를 입력하려고 한다면 배열의 각 방마다 값을 일일이 입력하려면 굉장히 어렵습니다. 이럴 때 Array 함수를 사용하여 입력한다면 보다 쉽게 배열 변수에 데이터를 입력할 수 있습니다.

 

VBA 내장 함수 - Date, Time, Now, DateSerial, DateValue

 

VBA 내장 함수 - Date, Time, Now, DateSerial, DateValue

이전 글에서 Val 함수와 Str 함수에 대해 알아보았습니다. 이번엔 시간과 날짜를 반환하는 함수에 대해 알아보겠습니다. VBA 내장 함수 - Val 함수, Str 함수 VBA 내장 함수 - Val 함수, Str 함수 이전 글

mr-johndoe.tistory.com

 

 

 

 

1. Array 함수

 Array 함수는 VBA에서 배열 변수나 정해진 범위에 데이터를 한꺼번에 입력하여야 하는 경우에 사용합니다. Array 함수는 전달된 인수를 한 번에 배열 변수 등으로 전달할 수 있으므로 코딩이 간단해 집니다.

 

사용방법은 다음과 같습니다.

 

  Array ( 인수 )

 

인수에 입력되어 목록을 Array 함수를 사용하여 하나로 묶는 의미입니다.

 

2. 예제로 Array 함수 확인

 엑셀에서 VBE 창을 열고 Module을 생성합니다. Module 코드 창에 다음과 같이 입력합니다.

 

   Public Sub Array함수()

     Dim s As Variant

 

     s = Array("No.", "성명", "주소", "연락처")

     Range("B2:E2").Value = s

   End Sub

 

 

 

 

코드를 실행하시고 엑셀 시트를 보시면 B2 셀에는 'No.'가, C2 셀에는 '성명'이, D2 셀에는 '주소', E2 셀에는 '연락처'가 입력되어진 것을 보실 수 있습니다.

 

코딩 내용을 보시면 배열 변수 s를 variant 형으로 선언하고 Array 함수로 인수들을 묶어 배열 변수 s에 입력하였습니다.

 

이와 같이 Array 함수를 이용하여 데이터를 입력하려는 경우 배열 변수는 Variant 형으로 선언되어야 합니다.

 

만약 지정된 셀에 Array로 묶인 요소 일부를 입력하려고 할 때는 다음과 같이 코딩하시면 됩니다.

 

   Public Sub Array함수()

     Dim s As Variant

 

     s = Array("No.", "성명", "주소", "연락처")

     Range("B2:E2").Value = s

     Range("B3").Value = s(1)

     Range("B4").Value = s(2)

   End Sub

 

실행하시면 앞의 결과에 추가로 B3 셀에는 '성명'이, B4 셀에는 '주소'가 입력됩니다.

 

반응형