6 개의 다른 열에서 값을 가져와 한 열로 결합한 다음 다른 6 열에서 해당 값으로 동일한 작업을 수행하는 매크로를 작성하고 있습니다.Excel VBA - 두 열 6 개로 배열 채우기
예 (간략화를 위해 3 열 각각 대신 6을 사용) 명확히 :
|School 1|School 2|School 3|City 1|City 2|City 3|
|a |b |c |1 |2 |3 |
값
array(0,0) = a
array(1,0) = b
array(2,0) = 3
array(0,1) = 1
array(1,1) = 2
array(2,1) = 3
각 열 2000 개 행이 함께 배열된다. 현재 코드는 다음과 같습니다.
Sub split_other()
Dim collector(11999, 1) As String
Dim counter1 As Integer
counter1 = 0
Dim i As Range
Dim Schools As Range
Set Schools = ActiveWorkbook.Worksheets("Parsing").Range("AB3", "AH2000")
Dim Cities As Range
Set Cities = ActiveWorkbook.Worksheets("Parsing").Range("AJ3", "AP2000")
For Each i In Schools
collector(counter1, 0) = i.Value
counter1 = counter1 + 1
Next
For Each i In Cities
collector(counter1, 1) = i.Value
counter1 = counter1 + 1
Next
End Sub
오전 데 문제는 로컬 뷰 보면서, 나는 각 루프를 들어 배열을 채우기하지 않는 것을 볼 수 있다는 것입니다. 또한 매크로는 결국 형식 불일치 오류를 발생시킵니다. 전자는보다 즉각적인 관심사입니다.
합니다. – BruceWayne
루프 사이에서 counter1을 0으로 재설정해야합니다. –
@ BruceWayne 'counter1 = counter1 + 1'은 카운터를 반복하고'i '는 숫자가 아닌 범위입니다. –