B파일.xlsx을 열지않고도 데이타를 비교 후 가져올 수 있을까요?

VBA
작성자
호랑이파워
작성일
2022-05-02 02:28
조회
91
엑셀버전 : 엑셀2016

운영체제 : 윈도우10

안녕하세요.

매일 업데이트는 되는 단가표를 파일을 열지않고 기존 단가표로 가져올려는 방법을 알고싶어 도움을 부탁 드리려고 글을 작성합니다.

[A.단가표_DB] 파일이 메인 DB파일입니다.
[B.매일변동_단가표] 파일은 지정된 폴더에 5.2.xlsx 파일 형식으로 매일 업데이트 됩니다

 

+ A파일이 기준 파일이고 B파일의 데이터를 A파일로 복사 할 예정입니다.

+ A파일 B1셀엔 업데이트된 날짜가 입력되고, C1셀엔 TODAY()을 이용하여 오늘 날짜가 들어갑니다.

  • VBA 시작 전 [판매가격]열의 값이 [전일가격]열로 값만 복사됩니다.
  • 상품코드를 기준으로 A파일과 B파일의 판매가격이 다르다면 B파일의 판매가격을 A파일로 가져옵니다.
  • A파일에서 상품코드를 기준으로 A파일에 없는 신규 상품코드가 B파일에 있다면 신규 상품코드가 있는 A열~H열까지 복사하여 A파일에 맨끝에 누적으로 붙여넣습니다.
  • 새롭게 판매가격이 업데이트 되었다면 A파일 B1셀에 업데이트 된 날짜가 입력됩니다.

 

위와 같은 방식으로 만들어 보고 싶어서 살펴보니 반복문을 사용해야 할꺼 같은데, 다른 파일도 열지않고 반복문 사용이 가능할지 몰라서 여쭤보고 도움을 얻고자 합니다.

 

많은 도움 부탁드립니다.

 

감사합니다.

 

회원등급 : 7레벨
포인트 : 481 EP
총질문 : 11 개 (마감율 : 100%)
채택답변 : 0 개
전체 7

  • 2022-05-12 23:16

    @호랑이파워님,

    데이터가 5000행 정도 되시면, ADO를 이용하여 B 파일을 열지 않고 데이터를 1~2초 내에 가져올 수 있습니다.

    가져온 데이터는 A파일의 임시 시트에 보관하고, 임시 시트의 데이터를 FIND 또는 VLOOKUP등을 이용하여 찾는 값을 추출할 수 있습니다. 관심있으시면 알려주세요.

    수고하세요.


    • 2022-05-14 09:31

      @Jas 님 답변 주셔서 정말 감사합니다!

      어떻게든 꾸역꾸역 만들면서 어러운 점이 많았는데 알려주신다면 초보지만 열심히 배워보고 싶습니다.

       

      현재 만들다가 궁금한 점이 있습니다.

      아래와 같은 A 파일과 B 파일 상품코드를 비교하다가 A 파일에 없는 B 파일 상품코드가 있다면 A 파일에 누적으로 데이터 기록하려 하는데 매크로 초보라서 어떻게 접근해야 할지 몰라서 여쭤봅니다.

      # 매일 업데이트 되는 B파일에 새로 만들어진 상품 코드가 A파일에 없으면 새로운 상품코드가 있는 행이 A파일 맨 아래에 누적되어 기록하는 방법도 알고싶습니다.


  • 2022-05-15 00:30

    @호랑이파워님,

    B파일은 굳이 매크로 파일로 할 필요가 없어서 xlsx로 변경하였습니다.

    그리고 ADO를 이용하였으니 A파일에서 B파일의 판매가격을 즉각적으로 가져오는것은 확인 하실수 있을 것입니다.

    그러나, A파일과 B파일을 비교하여 List를 추가하는 것은 빠른 FIND 함수를 이용하였음에도 불구하고 데이터 갯수가 많기 때문에 시간이 소요됩니다.

    많은 도움이 되시길 빕니다.

    첨부파일 : B.매일변동_단가표.xlsx


    • 2022-05-15 00:31

      @Jas 님 @호랑이파워님,

      A파일이 첨부되지 않아서 추가합니다.

      첨부파일 : A.단가표_DB.xlsm


    • 2022-05-15 12:29

      @Jas 님 와~ 정말 감사합니다!

      알려주신 ADO를 사용해 보니 5000행이 넘는 데이터도 1~2초 안에 금방 가져오네요.

      Vlookup을 이용하여 다른 파일의 데이터를 가져오곤 했을 땐 데이터가 많다 보니 가져오게 오래 걸렸는데 알려주신 건 새롭게 생성한 시트에 데이터가 있는 다른 파일을 새로운 시트에 빠르게 붙여넣기를 하여 vlookup도 빠르게 사용할 수 있게 되었습니다.

      알려주신 거 잘 응용해서 사용하겠습니다.

       

       

      정말 감사합니다.


  • 2022-05-03 23:17
    채택된 답변

    @호랑이파워님,

    ExecuteExcel4Macro를 이용하여 파일을 열지 않고 Data를 가져올 수 있습니다.(첨부 보세요)

    그런데, ExecuteExcel4Macro는 생각보다 빠르지 않습니다. 추천이 되지 않네요.

    아무튼 도움이 되시길 빕니다.

     

    첨부파일 : A.단가표_DB.xlsm


    • 2022-05-11 15:41

      @Jas 님 답변주셔서 감사합니다.

      이제서야 확인을 했습니다. ㅠㅠ

      보내주신 첨부 파일로 실행 해보니 5,000행 정도를 비교하니 꽤 느렸지만

      vba를 공부하는데 많은 도움이 되었습니다.

       

      다시한번 정말 감사 드립니다!!

       


전체 6,382
번호 카테고리 제목 작성자 작성일 추천 조회
알림
[🏆 진짜쓰는 실무엑셀 스터디] 1기 - 우수 졸업생 및 후기, 축하합니다! (8)
오빠두엑셀 | 2022.04.30 | 추천 8 | 조회 1106
오빠두엑셀 2022.04.30 8 1106
공지사항 함수/공식
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐ (62)
오빠두엑셀 | 2021.10.28 | 추천 79 | 조회 4423
오빠두엑셀 2021.10.28 79 4423
34152 VBA
New 변수 선언에 필요한 변수명을 동적으로 만들 수 있나요? (Dynamic Variable Name) (1)
나는나 | 17:16 | 추천 0 | 조회 22
나는나 17:16 0 22
34148 문서서식
New 엑셀 기본표시형식 설정 해결방법 (1)
zoe | 16:09 | 추천 0 | 조회 22
zoe 16:09 0 22
34146 피벗테이블
New 피벗테이블 열 합계 시 값이 다르게 나옵니다. 또한 한 아이템이 시간에 따라 2개의 가격을 가질 때 어떻게 처리를 해야하나요? 첨부파일
엽이 | 15:19 | 추천 2 | 조회 16
엽이 15:19 2 16
34144 함수/공식
New 음수를 제외한 양수들만으로 오름차순으로 순위 내는법 첨부파일 (1)
리테일러 | 15:13 | 추천 0 | 조회 24
리테일러 15:13 0 24
34143 함수/공식
New 평일 출근부 만들기 첨부파일 (3) 답변완료
왜사는건지 | 15:06 | 추천 0 | 조회 24
왜사는건지 15:06 0 24
34136 함수/공식
New 백분율의 합계? 백분율의 평균 값?이 다른이유가 있을까요? (4)
한다운 | 13:18 | 추천 0 | 조회 22
한다운 13:18 0 22
34135 함수/공식
New 음수를 제외한 양수들의 합만으로 순위 내는법 첨부파일 (8) 답변완료
리테일러 | 12:47 | 추천 2 | 조회 36
리테일러 12:47 2 36
34134 VBA
New VBA 필터 지정후 이미지 저장 문의 첨부파일 (5)
다다익선 | 12:34 | 추천 0 | 조회 24
다다익선 12:34 0 24
34130 함수/공식
New 값 입력시 안내 문구 2가지 경우 표시하기 (5) 답변완료
뤼키퀀 | 10:36 | 추천 0 | 조회 33
뤼키퀀 10:36 0 33
34127 함수/공식
New * 포함된 문자 vlookup으로 같은 값 찾는 방법 (3) 답변완료
초보펭수 | 09:29 | 추천 0 | 조회 34
초보펭수 09:29 0 34
34125 함수/공식
New 최종출고일과 출고지를 관리하고자 합니다. 도움 부탁 드려요 첨부파일 (2) 답변완료
뭉개구름 | 09:17 | 추천 0 | 조회 21
뭉개구름 09:17 0 21
34120 함수/공식
New 구글 스프레드시트 vlookup 함수 연동 오류..?
나도엑셀천재? | 01:41 | 추천 0 | 조회 21
나도엑셀천재? 01:41 0 21
34118 함수/공식
New INDIRECT 함수 범위 지정 (2)
JH | 2022.05.17 | 추천 0 | 조회 39
JH 2022.05.17 0 39
34117 파워쿼리/피벗
New 파워쿼리 - 폴더에서 DATA 가져오기 용량문제
힐링면역 | 2022.05.17 | 추천 1 | 조회 28
힐링면역 2022.05.17 1 28
34113 함수/공식
New IF 함수를 사용해서 상위 하위필더같은 기능을 사용할수 있나요? 첨부파일 (2)
김원명 | 2022.05.17 | 추천 0 | 조회 41
김원명 2022.05.17 0 41
34110 함수/공식
New 한셀에 출력되는 연속된 랜덤값을 계속해서 더하는 방법이 궁금합니다. 첨부파일 (1)
자기 | 2022.05.17 | 추천 1 | 조회 30
자기 2022.05.17 1 30
34109 파워쿼리/피벗
New 파워쿼리 거래금액 원 단위로 변환하는 방법 알려주세요~ (4)
shxhehskc | 2022.05.17 | 추천 0 | 조회 27
shxhehskc 2022.05.17 0 27
34106 파워쿼리/피벗
New 슬라이스 내림/오름차순으로 설정하는 방법 알려주세요~~~ (1)
shxhehskc | 2022.05.17 | 추천 0 | 조회 31
shxhehskc 2022.05.17 0 31
34103 문서서식
New 전화번호 데이터 지우는방법중 ~,* 없애주세요 (2)
카페모아 | 2022.05.17 | 추천 0 | 조회 42
카페모아 2022.05.17 0 42
34102 VBA
New 엑셀 vba 수정 방법 (엑셀 문자 보내기에서 수신자, 메시지 범위 자동으로 수정 입력?) (2)
쎈영어 | 2022.05.17 | 추천 0 | 조회 36
쎈영어 2022.05.17 0 36
34101 함수/공식
New 장비 반입.반출 관리를 하고 싶은데 수식을 어떻게 써야 할지 모르겠습니다. 첨부파일 (2) 답변완료
뭉개구름 | 2022.05.17 | 추천 0 | 조회 40
뭉개구름 2022.05.17 0 40
34100 함수/공식
New 셀서식 사용않고 함수만으로 조건에 맞는 글자색 지정하기 첨부파일 (1)
리테일러 | 2022.05.17 | 추천 0 | 조회 48
리테일러 2022.05.17 0 48
34097 기능/도구
New PC모니터에 보이는 액셀 화면 사이즈 그대로 고정하는 방법
마운틴 | 2022.05.17 | 추천 0 | 조회 44
마운틴 2022.05.17 0 44
34095 기능/도구
New 카메라 기능 사용 시 빈 그림이 출력됩니다. (2) 답변완료
하하 | 2022.05.17 | 추천 0 | 조회 40
하하 2022.05.17 0 40
34091 함수/공식
New 중복값만 블록 선택하는 방법 있나요? (2)
오빵두 | 2022.05.17 | 추천 0 | 조회 56
오빵두 2022.05.17 0 56
34088 VBA
New 재고관리 폼 스크롤휠 디버깅 문의 첨부파일
투구남 | 2022.05.17 | 추천 0 | 조회 44
투구남 2022.05.17 0 44
34086 피벗테이블
New 피벗테이블 시그마값 합계 적용시 "0" 으로 집계되는 이유 첨부파일 (2) 답변완료
마운틴 | 2022.05.16 | 추천 0 | 조회 39
마운틴 2022.05.16 0 39
34084 함수/공식
New 함수를 이용하여 글자색을 지정하는 방법을 알고 싶습니다. 첨부파일 (1)
리테일러 | 2022.05.16 | 추천 -1 | 조회 53
리테일러 2022.05.16 -1 53
34077 함수/공식
New 배열값 구하기 첨부파일 (3) 답변완료
박용국 | 2022.05.16 | 추천 0 | 조회 69
박용국 2022.05.16 0 69
34076 기능/도구
New 인사카드 저장시 다른시트에 정보 저장되는 기능 (1)
여리요 | 2022.05.16 | 추천 1 | 조회 30
여리요 2022.05.16 1 30