1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

엑셀 다른파일 비교하기 2

VBA 조회 수 4021 추천 수 0 2012.08.23 16:06:34

안녕하세요. 아별님 파이스입니다!


그간 폭염같은 무더위에 이어

이제는 질릴것 같은 빗줄기까지... 잘 지내고 계셨나요?


오늘은 지난번에 드렸던 질문의 확장판(?) 같은 것인데요,

우선 지난번에 가르쳐 주신 다음과 같은 프로시져가 있습니다.


Option Explicit

Sub compareSheets()

    Dim ws1 As Worksheet, ws2 As Worksheet
    Dim r As Long, c As Long
    Dim maxr As Long, maxc As Long
    Dim diff As Long

    Set ws1 = Sheets(1)
    Set ws2 = Sheets(2)

    maxr = ws1.UsedRange.SpecialCells(xlLastCell).Row
    maxc = ws1.UsedRange.SpecialCells(xlLastCell).Column

    diff = 0
    For r = 1 To maxr
        For c = 1 To maxc
            If ws1.Cells(r, c).Formula <> ws2.Cells(r, c).Formula Then
               diff = diff + 1
               ws1.Cells(r, c).Interior.ColorIndex = 3
               ws2.Cells(r, c).Interior.ColorIndex = 3
            End If
        Next c
    Next r

    MsgBox "다른셀의 개수 :" & diff

End Sub


위의 내용은 서로다른 두시트를 비교하는 내용으로,


7, 8행 의

Set ws1 = Sheets(1)
Set ws2 = Sheets(2)

부분을


Set ws1 = workbook(1).Sheets(1)
Set ws2 = workbook(2).Sheets(1)

로 변형하기도 하면서 잘 쓰고 있었는데요,


갑자기 이런 상황이 발생한 것입니다.

각각 시트가 10개 이상인 2개의 엑셀파일(워크북)을 통채로 비교하려면 어떻게 해야되지???

저는 순간 멍해지면서 이리저리 수정 해보기 시작했습니다.


위의 7,8행을

Set ws1 = workbook(1)
Set ws2 = workbook(2)

으로도 고쳐보고


Set ws1 = workbook(1).Sheets(1)&Sheets(2)&Sheet(3)......
Set ws2 = workbook(2).Sheets(1)&Sheets(2)&Sheet(3)......

으로도 고쳐보고


3행의 ws1 지정도 workbook으로 바꾸어보고 해봤으나...


아쉽게도 모두 작동하지 않았습니다. ㅠ.ㅠ


위와 같은 상황에서 한수 가르침을 청하겠습니다.

편안한 하루 보내십시오.


댓글 '2'

profile

[레벨:30]아별

2012.08.28 23:53:48
*.130.73.75

파이스님..

VBA의 기본 개념 부터 다시 공부해보실 것을 권해드립니다.

책을 한권 사서 엑셀의 개체 모델부터 찾아보세요..

 

Application이 최 상위고..

Workbook 다음에 WorkSheet 그리고 맨 하단이 Range입니다.

 

시트가 각각 10개인 웍북을 비교하려면 어떻게 하겠습니까?

set wb1 = workbooks(1)

set wb2 = workbooks(2)

라고 각각의 웍북을 정의해주고요..

 

for i = 1 to wb1.Sheets.count

      ' 이 안에 각각의 웍크시트를 비교해주는 기능이 필요하겠죠?

      if wb1.sheets(1).cells(1,1) = wb2.sheets(i).cells(1,1) then

             '셀에 체크..

      End If

next i

 

위 수식에서 cells안의 (1,1) 질문 올리신 글의 r과c에 대응해서 변경해보시기 바랍니다.

 

일단 이정도만 팁을 드려봅니다.

물고기를 잡는 방법을 알려드리는 심정으로 댓글 달아봤습니다.

 

 

그냥 잡아드리는게 좋을까요?

답변을 달면서 항상 하는 고민입니다.

 

즐거운 하루 되세요.. ^^

[레벨:6]파이스

2012.09.14 15:47:15
*.39.170.193

넵 답변이 늦었습니다. 죄송합니다.

확실히 물고기를 잡아보고 다시 글 남기도록 하겠습니다 + +

친절하고 자세한 답변 감사합니다!

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 51399
482 엑셀일반 아별님 안녕하세요 질문드립니다. _ 선택하여 붙여넣기 더하기 옵션 작동 안하는 이유 file [3] [레벨:1]모래고래 2011-11-15 3436
481 엑셀일반 가입인사겸 질문올립니다. _ 파일오류,매크로바이러스,데이터손실 복구 방법 [3] [레벨:1]바람길 2011-11-16 3755
480 VBA 아별님 안녕하세요? 파이스입니다. _ 엑셀창과 VBE창 창전환 쉽게 하는 방법 [3] [레벨:6]파이스 2011-11-23 3667
479 VBA 2개의 시트를 비교하여 다른 부분을 찾아내는 프로시저 질문입니다! file [3] [레벨:6]파이스 2011-11-24 5006
478 VLookup 두개의 셀을 비교하여 같은값없애는 방법 file [3] [레벨:1]ak 2011-11-25 5863
477 VBA 갑자기 궁금해서 질문드리는건데요... _ VBA를 다른 오피스 프로그램에서 사용 가능한지..? [3] [레벨:6]파이스 2011-11-27 3394
476 엑셀일반 질문...^^ _ 선택 영역에서 빈셀만 모두 선택하여 특정 문자로 채우는 방법 [3] [레벨:4]나카타 2011-11-28 4037
475 배열수식 데이타 정열관련 질문 드립니다. _ offset과 배열 수식을 이용하여 최근 값을 순차적으로 갖고 오는 방법.. file [3] [레벨:1]바람길 2011-11-28 4110
474 엑셀일반 매번 불편한 부분이 있어서 질문드립니다. _ 여러 행 또는 열을 한번에 삽입하는 방법.. [4] [레벨:4]알랑알랑♥ 2011-11-29 5872
473 VBA 랜덤 출력 관련 짧고 간결(?)한 3가지 질문입니다. _ 중복 없는 랜덤 패스워드 생성하는 방법.. [4] [레벨:6]파이스 2011-11-29 6830
472 엑셀일반 혹시 이런것도 가능한가요? (간결한 2가지 질문) - VBA만 실행파일(.exe)로 만들 수 있는지 여부, 외부 파일명 일괄 변경 방법.. [2] [레벨:6]파이스 2011-12-02 4350
471 아별툴관련질문 sheet 통합하기 file [1] [레벨:2]광택입니다 2011-12-06 2930
470 아별툴관련질문 스타일 삭제 질문입니다. imagefile [1] [레벨:0]blueclip 2011-12-07 3645
469 엑셀수식 엑셀 작업 중, 질문사항! - 다중 조건의 합계 산출 방법(SUMIFS,SUMPRODUCT) [2] [레벨:4]나카타 2011-12-08 3223
468 엑셀일반 질문하나 더 드립니다! [1] [레벨:4]나카타 2011-12-09 3003
467 엑셀일반 2010 엑셀로 작업 2003엑셀 시트 복사가 안되요 [1] [레벨:2]리자딘 2011-12-09 3877
466 VBA 아별님 안녕하세요 질문이 하나 있습니다 ^^ file [3] [레벨:0]하이버리 2011-12-09 2895
465 엑셀일반 신입 주제에 질문 먼저라 죄송합니다 ㅠㅠ file [3] [레벨:1]에봉이 2011-12-09 3012
464 차트 피라미드 그래프 (그림 첨부) file [5] [레벨:3]읍내꽃미남 2011-12-16 4325
463 VBA 동적 데이터 교환 질문 [1] [레벨:3]바람 2011-12-27 3015