요약
이 문서에는 여러 유형의 배열을 사용하는 데 사용할 수 있는 샘플 Microsoft Visual Basic for Applications 프로시저가 포함되어 있습니다.
추가 정보
Microsoft는 명시되거나 묵시적 보증 없이 설명에 대한 프로그래밍 예제만 제공합니다. 여기에는 특정 목적에 대한 상품성 또는 적합성에 대한 묵시적 보증이 포함되지만 이에 국한되지는 않습니다. 이 문서에서는 설명되는 프로그래밍 언어와 프로시저를 만들고 디버그하는 데 사용되는 도구에 익숙하다고 가정합니다. Microsoft 지원 엔지니어는 특정 프로시저의 기능을 설명하는 데 도움을 줄 수 있지만 특정 요구 사항을 충족하기 위해 추가된 기능 또는 생성 프로시저를 제공하도록 이러한 예제를 수정하지는 않습니다. 참고: Visual Basic for Applications 절차에서 아포스트로피(') 뒤의 단어는 주석입니다.
배열을 채운 다음 워크시트에 복사하려면
-
새 통합 문서를 열고 Visual Basic 모듈 시트를 삽입합니다.
-
모듈 시트에 다음 코드를 입력합니다.
Sub Sheet_Fill_Array() Dim myarray As Variant myarray = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) Range("a1:a10").Value = Application.Transpose(myarray) End Sub
-
Sheet1을 선택합니다.
-
도구 메뉴에서 매크로를 가리킨 다음 매크로를 클릭합니다.
-
매크로 대화 상자에서 Sheet_Fill_Array 클릭한 다음 실행을 클릭합니다.
워크시트에서 값을 가져와 배열을 채우려면
-
셀 A1:A10의 Sheet1에 값을 입력합니다.
-
Visual Basic 모듈 시트에서 다음 코드를 입력합니다.
Sub from_sheet_make_array() Dim thisarray As Variant thisarray = Range("a1:a10").Value counter = 1 'looping structure to look at array While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Sheet1을 선택합니다.
-
도구 메뉴에서 매크로를 가리킨 다음 매크로를 클릭합니다.
-
매크로 대화 상자에서 from_sheet_make_array 클릭한 다음 실행을 클릭합니다.
배열을 전달하고 받으려면
-
모듈 시트에 다음 코드를 입력합니다.
Sub pass_array() Dim thisarray As Variant thisarray = Selection.Value receive_array (thisarray) End Sub Sub receive_array(thisarray) counter = 1 While counter <= UBound(thisarray) MsgBox thisarray(counter, 1) counter = counter + 1 Wend End Sub
-
Sheet1을 선택하고 범위 A1:A10을 강조 표시합니다.
-
도구 메뉴에서 매크로를 가리킨 다음 매크로를 클릭합니다.
-
매크로 대화 상자에서 pass_array 클릭한 다음 실행을 클릭합니다.
두 배열을 비교하려면
-
Sheet1에 명명된 두 개의 범위를 만듭니다. range1과 range2의 이름을 지정합니다.
예를 들어 셀 범위 A1:A10을 강조 표시하고 range1의 이름을 지정합니다. 셀 범위 B1:B10을 강조 표시하고 이름을 range2로 지정합니다. -
모듈 시트에 다음 코드를 입력합니다.
Sub compare_two_array() Dim thisarray As Variant Dim thatarray As Variant thisarray = Range("range1").Value thatarray = Range("range2").Value counter = 1 While counter <= UBound(thisarray) x = thisarray(counter, 1) y = thatarray(counter, 1) If x = y Then MsgBox "yes" Else MsgBox "no" End If counter = counter + 1 Wend End Sub
-
Sheet2를 선택합니다.
-
도구 메뉴에서 매크로를 가리킨 다음 매크로를 클릭합니다.
-
매크로 대화 상자에서 compare_two_array 클릭한 다음 실행을 클릭합니다.
모든 비교에 대해 하나의 메시지 상자가 표시됩니다.
동적 배열을 채우려면
-
모듈 시트에 다음 코드를 입력합니다.
Sub fill_array() Dim thisarray As Variant number_of_elements = 3 'number of elements in the array 'must redim below to set size ReDim thisarray(1 To number_of_elements) As Integer 'resizes this size of the array counter = 1 fillmeup = 7 For counter = 1 To number_of_elements thisarray(counter) = fillmeup Next counter counter = 1 'this loop shows what was filled in While counter <= UBound(thisarray) MsgBox thisarray(counter) counter = counter + 1 Wend End Sub
-
도구 메뉴에서 매크로를 가리킨 다음 매크로를 클릭합니다.
-
매크로 대화 상자에서 fill_array 클릭한 다음 실행을 클릭합니다.
참고: 변수 "number_of_elements"을 변경하면 배열의 크기가 결정됩니다.