A파일의 ㄱsheet 내용을 B파일의 ㄴsheet에 불러오기

VBA
작성자
DAN
작성일
2020-11-13 10:22
조회
43
 

안녕하세요, 강의 잘 보고 있습니다 🙂

 

A라는 파일의 ㄱsheet의 내용을 B파일로 불러오고 싶습니다.

이때 A파일에서 내용이 업데이트가 되면 B파일에도 업데이트 된 내용이 들어오면 좋겠는데

그냥 수식으로 = 이렇게 가져오는건 업데이트가 잘 안되는 것 같더라구요ㅠㅠ

 

가능한 방법이 있을까요?

vba나 수식 모두 방법만 있으면 좋을 것 같습니다.

관련 내용에 대한 강의가 있으면 알려주시길 부탁드립니다.

 

감사합니다.
전체 4

  • 2020-11-13 19:57

    VBA로 닫혀있는 파일의 값을 가져오는건 adodb 라이브러리를 사용하시면 됩니다.

    아래 게시글을 참고해보세요

    https://www.oppadu.com/question/?mod=document&pageid=1&keyword=ado&uid=6208

    닫혀있는 파일의 값을 수식으로 가져오는 방법은 없습니다. 반드시 등호로 시작하여 특정 셀을 지정해주셔야 하는데요.

    등호로 특정 셀을 참조할 경우에는 '파일이 저장'이 된 이후에 값이 업데이트 되는 문제가 아닐까 예상됩니다.^^ 따라서 업데이트 전 파일을 저장해주면 문제가 해결될 것으로 생각됩니다.

    답변이 도움이 되셨길 바랍니다. 감사합니다.


  • 2020-11-15 03:21

    PC에 설치된 라이브러리 버전 등 환경에 따라
    ADO 가 (글처럼, 말처럼) 쉽게 해결될 때도 그렇지 않을 때도 있습니다.

    질문자님의 예제 파일은
    구 버전 엑셀파일에 헤더가 통합된 형태라서 몇 번의 시행착오를 해야만 할 듯 싶네요..

    우선, 제시해 준 파일을
    다른 이름 저장으로해서 OBJECT 를 최신화 합니다.
    xls 가 xlsx 로 확장자가 변화되지요.

     

    첨부파일 : 자료임시.xlsx


  • 2020-11-15 03:23

    Sub 메인()
    Call 시트정리("T1")
    Call 다른엑셀파일읽어오기(1)
    Call 데이터컬럼처리(1) '// 목적에 따라 처리하세요~
    Cells(1, 1).Select

    End Sub

    Sub 시트정리(cSrcName As String)
    Sheets(cSrcName).Select
    Cells.Select
    Selection.ClearContents
    End Sub

    Sub 데이터컬럼처리(iDummy As Integer)

    End Sub

    Sub 다른엑셀파일읽어오기(iDummy As Integer)

    Dim oDbCon As Object
    Dim oRS As Object
    Dim cDBPath As String
    Dim strCon As String
    Dim cSQL As String
    Dim cRunMode As String
    Dim oWS As Worksheet
    Dim cTarName As String

    Dim iStartRow As Long '// 출력 y 좌표
    Dim iStartCol As Long '// 출력 x 좌표
    Dim iLoop As Integer
    Dim iCount As Integer
    Dim cHeader(30) As String
    Dim iRow As Long
    Dim iCol As Long

    Set oDbCon = CreateObject("ADODB.Connection")
    Set oRS = CreateObject("ADODB.Recordset")

    cRunMode = "ONE_SHOT"
    cTarName = "T1"
    iStartRow = 1
    iStartCol = 1

    '////////////////////////////////////////////////////////////////////////////
    '///// 엑셀 버전에 따른 공급자를 찾는 것이 쉽지가 않네요
    '///// 현재 버전으로 파일을 reSave 하고 나면 오류가 해결되는데...
    '/////
    '////////////////////////////////////////////////////////////////////////////

    cDBPath = ThisWorkbook.Path & "\자료임시.xlsX" '////////////////////////////////////////// 파일명 수정하세요
    strCon = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & cDBPath & ";HDR=Yes';"

    oDbCon.Open strCon

    cSQL = "SELECT T.* From [10RN$] as T " '////////////////////////////////////////// 데이터가 있는 시트명 // 뒤에 $ 필수 입니다.
    Set oRS = oDbCon.Execute(cSQL)

    Select Case cRunMode

    Case "ONE_SHOT"
    '////////////////////////////////////////////////////////////////////////////
    '///// 헤더가 병합된 형태일 경우, 처리 함
    '////////////////////////////////////////////////////////////////////////////
    Sheets(cTarName).Range("A1").CopyFromRecordset oRS

    Call SetHeader(cHeader) '// 헤더 설정

    '////////////////////////////////////////////////////////////////////////////
    '///// 헤더 리픽싱
    '////////////////////////////////////////////////////////////////////////////

    iRow = ActiveSheet.UsedRange.Rows.Count
    iCol = ActiveSheet.UsedRange.Columns.Count

    Range(Cells(2, 1), Cells(3, iCol)).Select
    Selection.EntireRow.Delete

    For iLoop = 1 To iCol
    Cells(1, iLoop).Value = cHeader(iLoop)
    Next

    End Select

    oRS.Close
    oDbCon.Close

    End Sub

    Sub SetHeader(cHeader() As String)

    cHeader(1) = "번호"
    cHeader(2) = "BarCode"
    cHeader(3) = "Spec"
    cHeader(4) = "전압"
    cHeader(5) = "전류"
    cHeader(6) = "시험시간"
    cHeader(7) = "개폐회수"
    cHeader(8) = "아크시간"
    cHeader(9) = "AC합부판정"
    cHeader(10) = "DC합부판정"

    cHeader(11) = "저항_기준값"
    cHeader(12) = "저항_전류"
    cHeader(13) = "저항_접점전압"
    cHeader(14) = "내압시험_단자-단자"
    cHeader(15) = "내압시헙_단자-코일"
    cHeader(16) = "내압시헙_단자-케이스"
    cHeader(17) = "동작시간_ON"
    cHeader(18) = "동작시간_OFF"
    cHeader(19) = "여자전류_"
    cHeader(20) = "여자전류_값"

    cHeader(21) = "석방전압_"
    cHeader(22) = "석방전압_값"
    cHeader(23) = "흡인전압_"
    cHeader(24) = "흡인전압_값"
    cHeader(25) = "절연저항시험"
    cHeader(26) = "시험시간"
    End Sub


  • 2020-11-15 03:25

    첨부를 위의 파일과 같은 폴더에 저장하고
    매크로 코드를 확인해 보세요.

    첨부파일 : 엑셀ODBC메인.xlsm


전체 1,579
번호 카테고리 제목 작성자 작성일 추천 조회
1574 문서서식
New 이미지와 도형 출력 시 위치 오류 관련
Kichan | 16:32 | 추천 0 | 조회 7
Kichan 16:32 0 7
1573 함수/공식
New 기초적인 질문,., 첨부파일
선크 | 13:31 | 추천 0 | 조회 13
선크 13:31 0 13
1572 차트/그래프
New 그래프와 슬라이서 연동 관련 질문 있습니다.
미네시마 | 2020.11.28 | 추천 0 | 조회 18
미네시마 2020.11.28 0 18
1571 문서서식
New 같은 날짜 숨김 효과를 낼수 있는 방법이 있을까요?
미네시마 | 2020.11.28 | 추천 0 | 조회 13
미네시마 2020.11.28 0 13
1570 함수/공식
New 주간업무로 입력한 내용을 연도별, 월별, 주별, 부서별로 찾아 날짜 순서대로 나열하는 방법 첨부파일
007 | 2020.11.28 | 추천 0 | 조회 29
007 2020.11.28 0 29
1569 VBA
New 엑셀 VBA 크롤링 동영상 중 Splitter로 자르는 방법에 대해 문의드립니다.
금목서 | 2020.11.28 | 추천 0 | 조회 19
금목서 2020.11.28 0 19
1568 함수/공식
New (질문)개행으로 입력된 데이터의 가공관련문의드립니다! 엑린이를 도와주세요! 첨부파일
naver_5fc1c99def443 | 2020.11.28 | 추천 0 | 조회 15
naver_5fc1c99def443 2020.11.28 0 15
1567 함수/공식
New 영문 성/이름 검사기능 질문드립니다. 첨부파일 (1)
말보루 | 2020.11.28 | 추천 0 | 조회 21
말보루 2020.11.28 0 21
1566 VBA
New VBA 값복사 수식복사 (2)
misoindc | 2020.11.28 | 추천 0 | 조회 20
misoindc 2020.11.28 0 20
1565 함수/공식
New 월,주,일 특정 구간 산출공식 첨부파일 (1)
H.B | 2020.11.27 | 추천 0 | 조회 34
H.B 2020.11.27 0 34
1564 대시보드
New 피벗 1차가공 동적그래프 문의 첨부파일 (1)
H.B | 2020.11.27 | 추천 0 | 조회 22
H.B 2020.11.27 0 22
1563 함수/공식
New 방대한 양의 데이터를 모두 수식으로 작성한 파일에서 값으로 바뀐 항목의 갯수를 카운팅하거나 (1)
김상수 | 2020.11.27 | 추천 0 | 조회 22
김상수 2020.11.27 0 22
1562 차트/그래프
New 차트에대해 질문드립니다. 첨부파일 (1)
dasdas | 2020.11.27 | 추천 1 | 조회 17
dasdas 2020.11.27 1 17
1561 기능/도구
New 줄바꿈 제거 질문입니다. (3)
옥수수수염차 | 2020.11.27 | 추천 0 | 조회 27
옥수수수염차 2020.11.27 0 27
1560 피벗테이블
New 피벗 접기 펼치기기능 슬라이서 구현화 문의 첨부파일 (2) 답변완료
H.B | 2020.11.27 | 추천 0 | 조회 35
H.B 2020.11.27 0 35
1559 VBA
New 네이버 연관검색어 파일 VBA 복구하거나 제거 무슨 뜻인지? (2)
Greenpunch | 2020.11.26 | 추천 0 | 조회 18
Greenpunch 2020.11.26 0 18
1558 기능/도구
New 엑셀 크롤링 기능을 활용한 [품절] 항목 검색 (1)
고래 | 2020.11.26 | 추천 0 | 조회 22
고래 2020.11.26 0 22
1557 VBA
VBA 창에서 프로젝트창, 속성창 등이 고정되지 않아 넘 불편합니다. ㅠㅠ (1)
공석 | 2020.11.26 | 추천 0 | 조회 21
공석 2020.11.26 0 21
1556 차트/그래프
지도차트 관련 질문 (1)
Astroz | 2020.11.26 | 추천 0 | 조회 18
Astroz 2020.11.26 0 18
1555 VBA
VBA 사용 시트병합 강의 따라하는데 매크로 단축키 지정이 안됩니다. 해결책이 있나요? (3)
공석 | 2020.11.26 | 추천 0 | 조회 28
공석 2020.11.26 0 28
1554 함수/공식
당직근무자 자동생성 관련 / 첨부파일 (1)
naver_5f055a605ee7d | 2020.11.26 | 추천 0 | 조회 34
naver_5f055a605ee7d 2020.11.26 0 34
1553 VBA
셀단위 이미지 자동추출 문제 관련 첨부파일 (1)
ezdaily | 2020.11.26 | 추천 0 | 조회 14
ezdaily 2020.11.26 0 14
1552 함수/공식
피벗테이블로 유효성검사3가지 려고하는데 잘안되요 첨부파일 (1)
ja**** | 2020.11.26 | 추천 0 | 조회 26
ja**** 2020.11.26 0 26
1551 함수/공식
PDF로 저장할때 HYPERLINK 함수를 적용시킬수 있는 방법이 있을까요? 첨부파일 (1)
찬우아빠 | 2020.11.25 | 추천 1 | 조회 35
찬우아빠 2020.11.25 1 35
1550 문서서식
한글에서 표를 엑셀로 복사붙여넣기 할때요 (2) 답변완료
욕심없는성공v | 2020.11.25 | 추천 0 | 조회 39
욕심없는성공v 2020.11.25 0 39
1549 기능/도구
du-tool 삭제시 오류메세지 문의드립니다. 첨부파일 (1)
좐킴 | 2020.11.25 | 추천 0 | 조회 15
좐킴 2020.11.25 0 15
1548 VBA
이메일 본문에 차트 삽입 (1)
달님 | 2020.11.25 | 추천 0 | 조회 22
달님 2020.11.25 0 22
1547 VBA
vba로 인터넷 창 전환 후 크기 변경 질문 드립니다. (1)
hyuk**** | 2020.11.25 | 추천 0 | 조회 19
hyuk**** 2020.11.25 0 19
1546 기능/도구
4개 기능 함수를 다운받아 설치 후 엑셀이 에러 창이 뜹니다. 첨부파일 (1)
SM AD AMERICA | 2020.11.24 | 추천 0 | 조회 34
SM AD AMERICA 2020.11.24 0 34
1545 기능/도구
엑셀 실행 시 에러 창이 뜹니다. 이거 해결할 수 있나요? 첨부파일 (1)
SM AD AMERICA | 2020.11.24 | 추천 0 | 조회 22
SM AD AMERICA 2020.11.24 0 22