소설처럼 읽고 이해하는 엑셀 VBA 프로그래밍 - YES24
이제 지금까지 학습한 내용을 바탕으로 실전문제를 풀어 보겠습니다.
다른 시트의 내용을 받아 입력하는 방법입니다.
위와 같이 두 개의 시트가 있습니다.
SHEET1은 거래처로부터 접수된 주문내역입니다.
해당 주문내역을 바탕으로 호출하기 버튼을 클릭하면 당사의 주문서(SHEET2) 양식에 맞게 편집하여 정보를 담고자 합니다.
Sub F28_01()
Dim OA_Row_Count, I As Integer
OA_Row_Count = Worksheets(“Sheet1”).Cells.SpecialCells(xlLastCell).Row
For I = 2 To OA_Row_Count
Worksheets(“Sheet2”).Cells(I, 1).Value = Worksheets(“Sheet1”).Cells(I, 5).Value
Worksheets(“Sheet2”).Cells(I, 2).Value = Worksheets(“Sheet1”).Cells(I, 6).Value
Worksheets(“Sheet2”).Cells(I, 3).Value = Worksheets(“Sheet1”).Cells(I, 9).Value
Worksheets(“Sheet2”).Cells(I, 4).Value = Worksheets(“Sheet1”).Cells(I, 7).Value
Worksheets(“Sheet2”).Cells(I, 5).Value = Worksheets(“Sheet1”).Cells(I, 8).Value
Worksheets(“Sheet2”).Cells(I, 6).Value = Worksheets(“Sheet1”).Cells(I, 3).Value
Worksheets(“Sheet2”).Cells(I, 7).Value = Worksheets(“Sheet1”).Cells(I, 1).Value
Worksheets(“Sheet2”).Cells(I, 8).Value = Worksheets(“Sheet1”).Cells(I, 2).Value
Next
End Sub
주문내역의 내용을 위치만 변경하여 주문서 양식에 담는 아주 간단한 코드입니다.
핵심 구문은 입력된 행의 개수를 받아오는 코드입니다.
Worksheets(“Sheet1”).Cells.SpecialCells(xlLastCell).Row
Worksheets(“Sheet1”).Cells.SpecialCells(xlLastCell).Column
행의 개수를 받아올 때는 ROW, 열의 개수는 COLUMN입니다.
행의 개수를 파악하여 그 수만큼 반복문으로 실행하고 해당 위치에 값을 입력하는 것이죠.
단순히 위치만 변경해서 데이터를 받아오는 코드이지만 실무에서는 이와 유사한 상황이 많습니다.
방식을 익히고 응용하여 자신에 맞게 활용할 수 있도록 하세요.