vba array 1차원 두개로 2차원 만들기...펌
re: VBA에서 2차원배열에 값을 넘겨주는 방법에 대한 질문
- Jazzpia(xogari)
- 답변채택률77.8%
- 2009.01.27 12:37
질문자 인사
좋은 답변 감사합니다. 많은 도움이 되었습니다.
안녕하세요~
이런 경우는 다음과 같이 해 보세요~
dim n as long,My_Month,My_Month2
My_Month=array("1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월")
My_Month2= array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
for n=1 to 12
cells(1,n)=My_Month(n-1)
cells(2,n)=My_Month2(n-1)
next n
또 순환문을 쓰지 않고 한번에 처리할 수도 있습니다...
dim My_Month,My_Month2
My_Month=array("1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월")
My_Month2= array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
cells(1,1).resize(1,12)=My_Month
cells(2,1).resize(1,12)=My_Month2
다음은 1차원 배열안에 다시 1차원 배열을 넘겨 받습니다.
Dim arrMon(1 To 2), My_Month(1 To 2), n As Long
arrMon(1) = Array("1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월")
arrMon(2) = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
For n = 1 To 2
My_Month(n) = arrMon(n)
Next n
'배열 확인
For n = 1 To 12
Debug.Print My_Month(1)(n - 1), My_Month(2)(n - 1)
Next n
또 다른 방법으로...
Dim arrMon1, arrMon2, My_Month(1 To 2, 1 To 12), n As Long
arrMon1 = Array("1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월")
arrMon2 = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
For n = 1 To 12
My_Month(1, n) = arrMon1(n - 1)
My_Month(2, n) = arrMon2(n - 1)
Next n
' 배열 확인
For n = 1 To 12
Debug.Print My_Month(1, n), My_Month(2, n)
Next n
Cells(1, 1).Resize(2, 12) = My_Month ' 셀의 가로 범위에
Cells(4, 1).Resize(12, 2) = Application.Transpose(My_Month) ' 셀의 세로범위에
그럼 잘 되시기를....