brunch

You can make anything
by writing

C.S.Lewis

by 별더하기 Jan 04. 2022

28강 - 데이터 주고 받기

소설처럼 읽고 이해하는 엑셀 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입니다.

행의 개수를 파악하여 그 수만큼 반복문으로 실행하고 해당 위치에 값을 입력하는 것이죠.

단순히 위치만 변경해서 데이터를 받아오는 코드이지만 실무에서는 이와 유사한 상황이 많습니다.

방식을 익히고 응용하여 자신에 맞게 활용할 수 있도록 하세요.


https://youtu.be/MNybng7XrDE


매거진의 이전글 27강 - 날짜의 이동
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari