본문 바로가기
WeekdayLife/excel

[엑셀VBA] 두 개 엑셀파일간 업데이트

by JO_i 2016. 11. 17.

두 개 엑셀파일간 업데이트

가끔 문서를 돌리고 취합해야하는 일이 있다.

멍청한 구성원이 순서를 바꾸지만 않는다면, 쉽게 업데이트 코드를 쓸수 있을 것 같다.

아래 코드는 1.XLSX / 2A.XLSX 두개의 파일에 대해 아래 조건대로 업데이트 한다.

 

- 1의 셀이 비어 있으면 2A에서 1로 값 복사

- 1과 2A의 값이 다르면 2A의 값으로 1의 값을 대체

단, 2A에 해당셀의 값이 없으면 복사하지 않음

 

컴이 느려터진 관계로 가로/세로 20번 까지만 설정했다.

왜 오래걸리는지 모르겟다. 아시는분은 알려주시라.

 

응용이 가능하겠지만. 시간 관계상 제외하고

복사해올 참조 엑셀의 이름을 적는 식으로 만들었다.

오늘도 새로운걸 시도하진 않았고, 아는 만큼만 하게 되더라는.... ㅋㅋ

 

 

 

[코드샘플]

Sub UPDATE()

Dim i As Integer
Dim j As Integer
Dim workbookname As String

workbookname = InputBox(" ")

For i = 1 To 20
    For j = 1 To 20
        If ThisWorkbook.ActiveSheet.Cells(i, j) = "" Then
            Workbooks(workbookname).ActiveSheet.Cells(i, j).Copy Destination:=ThisWorkbook.ActiveSheet.Cells(i, j)
        Else
            If Workbooks(workbookname).ActiveSheet.Cells(i, j) <> "" Then
            Workbooks(workbookname).ActiveSheet.Cells(i, j).Copy Destination:=ThisWorkbook.ActiveSheet.Cells(i, j)
            End If
        End If
    Next j
Next i
End Sub