파일열지 않고 시트 가져오기

VBA
작성자
ArkGie
작성일
2021-07-06 15:00
조회
153
엑셀버전 : 엑셀2019

운영체제 : 윈도우10

파일 열지 않고 시트 가져오기 VBA를 기존에 있던 코드를 수정했습니다.

 

조건은 기존의 A파일, 복사하고싶은 B파일 있습니다.

A파일의 1시트는 기존에 있고 새로운 2시트를 만들어서

B파일의 시트 전체를 가져 오고 싶습니다.

어떻게 수정을 해야할까요?

 

아래는 제가 쓴 코드입니다. 감사합니다.

 

Sub GetData_InFolder()
 
   Dim strPath As String
   Dim wb As Workbook
   Dim fName As String
   Dim rngS As Range, rngT As Range
   Dim cntRows As Long
 
   Application.ScreenUpdating = False
 
'이건 제가 파일 하나만 특정하지 못해서 이렇게 임시로 만들었습니다.
   strPath = "C:\Sync\001_Work\005_Revise\100_Categories/" 
   fName = Dir(strPath & "My Category.xls*")
 
   If fName = "" Then
      MsgBox "폴더에 파일이 없습니다"
      Exit Sub
   End If
 
 
   Do While fName <> ""
      Set wb = Workbooks.Open(Filename:=strPath & fName, UpdateLinks:=0)
      Set rngS = wb.Sheets(2).UsedRange
      Set rngS = rngS.Offset(0).Resize(rngS.Rows.Count - 1)
            cntRows = rngS.Rows.Count
 
      Sheet1.Cells(Rows.Count, "a").End(3)(1).Resize(cntRows, 24) = rngS.Value
 
      wb.Close
      fName = Dir
   Loop
Application.ScreenUpdating = True
 
End Sub

DIR은 필요없지만 수정할 능력이 안되서 그냥 써놓고 있습니다.

전체 2

  • 2021-07-06 16:22
    채택된 답변
    일단 경로의 마지막에 '/'부분을 먼저 바꾸어야 햘 듯 합니다.
    strPath = "C:\Sync\001_Work\005_Revise\100_Categories/" 
    
    ▶ strPath = "C:\Sync\001_Work\005_Revise\100_Categories\" 
    
    

    쉬트 복사 코드 - 다음은 워크북2의 시트 하나("Workbook2")를 워크북1의  시트1 뒤에 복사하는 방법입니다.

    Sub CopySheet()
        Sheets("workbook2").Select   '이 구문은 필요 없음. 이해를 돕기 위한 코드
        Sheets("workbook2").Copy After:=Workbooks("통합 문서1").Sheets(1)
    End Sub

     
    그리고 파일을 열지 않고 하는 방법은 없습니다. 눈에 안 보이게 눈 속임하는 것입니다. 2가지 방법이 있는데, 하나는 GetObject() 함수를 사용하는 것이고, 나머지 하나는 SQL 또는 파워쿼리를 이용하는 방법입니다.

    전자는 Worbook을 안 보이게 설정하고 처리 하는 방법입니다. 이를 유튜버들이 파일을 열지 않고 처리한다고 과장되게 이야기 하는 것입니다. 아래는 대략적인 소스 코드 입니다.

    Dim fPath As String
    Dim File As Object
    
    fPath = "C:\temp\test.xlsx"
    
    Set File = GetObject(fPath)
    
      ... 여기에 시트 복사 코드를 넣으면 됩니다.
    
    File.Close
    Set File = Nothing

    이해가 수반되지 않은채 다른 사람의 코드 복붙 하고 에러 나면, 정신적으로 괴로워 집니다.


    • 2021-07-09 13:40

      감사합니다. 많이 공부됩니다.

      처음부터 공부하면 좋겠으나.. 업무에 바로 바로 적용하면서 하는게 그나마 배우는게 빨라 이렇게 되네요

      찬찬히 공부해 보겠습니다. 다시한번 감사합니다.


전체 3,534
번호 카테고리 제목 작성자 작성일 추천 조회
3521 함수/공식
New 오빠두 데이터유효성 부분 일치 검색 필터 만들기 강의 질문입니다.
월마리아 | 2021.08.01 | 추천 0 | 조회 6
월마리아 2021.08.01 0 6
3520 파워쿼리/피벗
New 파워쿼리 날씨api
엑셀지킴이 | 2021.08.01 | 추천 0 | 조회 6
엑셀지킴이 2021.08.01 0 6
3519 VBA
New 파일열지 않고 시트 가져오기 첨부파일 (3)
ArkGie | 2021.08.01 | 추천 1 | 조회 26
ArkGie 2021.08.01 1 26
3518 함수/공식
New 엑셀로 데이터 비교 첨부파일
Chris | 2021.08.01 | 추천 1 | 조회 24
Chris 2021.08.01 1 24
3517 기능/도구
New 발주서에 상품 공급가 들어가게 하고 싶어요 첨부파일 (6)
해피365샵 | 2021.08.01 | 추천 0 | 조회 24
해피365샵 2021.08.01 0 24
3516 함수/공식
New 중복된 날짜 제거 후 열로 나열하는 법 궁금합니다 첨부파일 (1)
김성환 | 2021.08.01 | 추천 0 | 조회 16
김성환 2021.08.01 0 16
3515 함수/공식
New 혈압 평균 구하는 법 (1)
밍밍 2호 | 2021.08.01 | 추천 0 | 조회 19
밍밍 2호 2021.08.01 0 19
3514 함수/공식
New index, match 응용버젼 문의드립니다. 첨부파일 (4)
현우 | 2021.08.01 | 추천 0 | 조회 25
현우 2021.08.01 0 25
3513 함수/공식
New 문의 드립니다^^ 첨부파일 (2) 답변완료
해피365샵 | 2021.08.01 | 추천 0 | 조회 40
해피365샵 2021.08.01 0 40
3512 함수/공식
New [한셀] 시험등급이 특급일때 달성한 날짜를 결과값으로 가져오고 싶습니다. 도와주세요! 첨부파일 (1)
라이언 | 2021.08.01 | 추천 0 | 조회 23
라이언 2021.08.01 0 23
3511 VBA
New vba Range의 셀 값을 변수로 값을 대입하기 (1)
vbawhat | 2021.07.31 | 추천 0 | 조회 42
vbawhat 2021.07.31 0 42
3510 VBA
New 텍스트 파일 끝에서부터 키워드로 검색하기 (2) 답변완료
어제부터VBA | 2021.07.31 | 추천 0 | 조회 43
어제부터VBA 2021.07.31 0 43
3509 VBA
New 재고관리 vba 콤보박스 활용 검색 도움부탁드립니다 (1)
ycy | 2021.07.31 | 추천 0 | 조회 44
ycy 2021.07.31 0 44
3508 함수/공식
New 고수님...첫출근일 함수 부탁드립니다 첨부파일 (2) 답변완료
jhp | 2021.07.30 | 추천 0 | 조회 66
jhp 2021.07.30 0 66
3507 VBA
New listbox에 Access query내용을 담는 방법 (1)
마녀 | 2021.07.30 | 추천 0 | 조회 29
마녀 2021.07.30 0 29
3506 함수/공식
New 구글 스프레드 SUMIFS 함수 (1)
호잇 | 2021.07.30 | 추천 0 | 조회 39
호잇 2021.07.30 0 39
3505 VBA
New 구글 스프레드시트에서 vba 모듈 활용법 (1)
aksr**** | 2021.07.30 | 추천 0 | 조회 32
aksr**** 2021.07.30 0 32
3504 함수/공식
New 다중조건 최대값 & 최소값 함수 문의의 건 첨부파일 (1)
kangj**** | 2021.07.30 | 추천 0 | 조회 39
kangj**** 2021.07.30 0 39
3503 파워쿼리/피벗
New 파워쿼리, 특정 시트의 셀값 참조하여 필터링하기 (2)
| 2021.07.30 | 추천 1 | 조회 45
2021.07.30 1 45
3502 함수/공식
New index(출력값,match(찾을값,범위,0)) 로 값을 구할 때 "match의 범위"를 "두개의 열"로 확장하는 방법? (3) 답변완료
HoDee | 2021.07.30 | 추천 1 | 조회 54
HoDee 2021.07.30 1 54
3501 기능/도구
New 스마트아트 작성 문의드려요 첨부파일 (1)
비달빵순 | 2021.07.30 | 추천 0 | 조회 32
비달빵순 2021.07.30 0 32
3500 함수/공식
엑셀 색상별 합계 3초만에 구하는 방법 강의를 듣고 색상별 개수를 구하는 방법을 알려 주세요 (7)
Finir2017 | 2021.07.29 | 추천 0 | 조회 55
Finir2017 2021.07.29 0 55
3499 함수/공식
lookup 관련 찾는 범위가 필드이고 반환 열이 첫번째 인데 반환 값이 여러개, 반환 범위가 가로인 경우 첨부파일 (5) 답변완료
means**** | 2021.07.29 | 추천 1 | 조회 63
means**** 2021.07.29 1 63
3498 파워쿼리/피벗
파워쿼리 사용중 닫기및 로드 하는데 오버플로 오류가 포함되어 있다고 뜨는데 해결책이 무엇일까요? 첨부파일 (4)
이우용님 | 2021.07.29 | 추천 0 | 조회 32
이우용님 2021.07.29 0 32
3497 함수/공식
여러필드출력시트에 관한 질문입니다. 첨부파일 (4) 답변완료
크레이지 | 2021.07.29 | 추천 0 | 조회 54
크레이지 2021.07.29 0 54
3496 함수/공식
vlookup 위치참조 (2) 답변완료
윤지은 | 2021.07.29 | 추천 0 | 조회 70
윤지은 2021.07.29 0 70
3495 함수/공식
검색어(중복값) 입력시 행과 열에 대한 값 불러오기?? 첨부파일 (5) 답변완료
o0o0**** | 2021.07.29 | 추천 0 | 조회 64
o0o0**** 2021.07.29 0 64
3494 문서서식
조건부서식 색필터시 문제 도와주세요 ㅜㅜ 첨부파일 (1)
한방인생 | 2021.07.28 | 추천 0 | 조회 60
한방인생 2021.07.28 0 60
3493 파워쿼리/피벗
파워쿼리 새로고침 시 변경된 원본 데이터가 있을 경우 따로 확인하거나 표시할 수 있는 방법이 있을까요? (1)
모아 | 2021.07.28 | 추천 0 | 조회 46
모아 2021.07.28 0 46
3492 VBA
[VBA] 폴더 내 하위 폴더 작업 (2)
몰라요ㅠㅠ | 2021.07.28 | 추천 0 | 조회 48
몰라요ㅠㅠ 2021.07.28 0 48