폴더내 모든파일의 '특정시트' '각 파일' 제일 앞 시트로 복사

VBA
작성자
강대국
작성일
2021-09-16 14:16
조회
64
엑셀버전 : 엑셀2016

운영체제 : 윈도우10

 

 

Option Explicit

Sub copy_All_Sheets_In_Folder()

Dim shtName As String '가져올 시트이름 넣을 변수
Dim wkb As Workbook '각 파일을 넣을 변수
Dim wks As Worksheet '각 시트를 넣을 변수
Dim fileName As String '각 파일 이름을 넣을 변수
Dim strPath As String '폴더의 경로를 넣을 변수

Application.ScreenUpdating = False '화면 업데이트 (일시) 정지

shtName = "Sheet2" '가져올 시트이름을 변수에 넣음

'----------------------------------------------
' 폴더 선택하는 창 출력 후 폴더 경로 추출하는 코드
'----------------------------------------------
With Application.FileDialog(msoFileDialogFolderPicker) '폴더선택 창에서
.Show '폴더 선택창 띄우기

If .SelectedItems.Count = 0 Then '취소 선택 시
Exit Sub '매크로 중단
Else
strPath = .SelectedItems(1) & "\" '폴더 경로를 변수에 넣음
End If
End With

fileName = Dir(strPath & "*.xls*") '(폴더내)각 엑셀파일 이름을 변수에 넣음

If fileName = "" Then '폴더에 파일이 없으면
MsgBox "폴더에 파일이 없습니다." '메시지 출력
Exit Sub '매크로 중단
End If

'---------------------------------------------------
' 파일을 열고 시트이름 일치하는 시트만 복사해오는 코드
'---------------------------------------------------
Do While fileName <> "" '이름이 없지 않다면, 즉, 엑셀파일이 존재하면
Set wkb = Workbooks.Open(strPath & "\" & fileName) '파일을 열고 변수에 넣음

For Each wks In wkb.Worksheets '열린파일 각 시트를 순환

If wks.Name = shtName Then '시트이름이 일치하면
wks.Copy before:=wkb.Sheets1 '시트1 앞으로 일치하는 시트 복사
wkb.Sheet1.Name = shtName '시트이름을 파일 이름으로 변경
End If

Next wks

wkb.Close False '열려진 각 파일을 저장없이 닫음
fileName = Dir '다음 파일을 파일이름에 넣음
Loop '무한 반복

Set wkb = Nothing '개체변수 초기화(메모리 비우기)
End Sub

 

안녕하세요 폴더 내 모든파일을 돌면서 "특정이름"을 가진 시트 발견 시,

각 파일들의 1번 위치로 복사를 하고 싶습니다.

진행 중 코드는 다음과 같은데 매크로가 돌다가 에러가 나네요 ㅠ

배움이 적어 고수 분들의 가르침을 여쭙니다 코드에 문제점이 있는지 알 수 있을까요?

 

회원등급 : 새싹등급
포인트 : 74 EP
총질문 : 1 개 (마감율 : 0%)
채택답변 : 0 개
전체 0

전체 4,296
번호 카테고리 제목 작성자 작성일 추천 조회
4279 함수/공식
New 재고관리 첨부파일
유리 | 01:07 | 추천 0 | 조회 4
유리 01:07 0 4
4278 VBA
New 이런 유형의 사이트에서도 웹크롤링이 가능할까요?
스일이 | 2021.10.26 | 추천 0 | 조회 9
스일이 2021.10.26 0 9
4277 함수/공식
New FILTER 값을 다른 시트에 TEXT로 표시
키달아찌 | 2021.10.26 | 추천 0 | 조회 4
키달아찌 2021.10.26 0 4
4276 함수/공식
New 한셀에서 한글자만 삭제 가능한지요. 도움 꼭 부탁드립니다.
큐큐큐 | 2021.10.26 | 추천 0 | 조회 6
큐큐큐 2021.10.26 0 6
4275 문서서식
New 외부데이터(인터넷페이지) 값을 엑셀 시트에 값만 붙여넣고 싶어요. 첨부파일 (2)
로얌 | 2021.10.26 | 추천 0 | 조회 8
로얌 2021.10.26 0 8
4274 기능/도구
New 엑셀 텍스트나누기 '텍스트한정자'에 대해서 질문드립니다.
월마리아 | 2021.10.26 | 추천 0 | 조회 8
월마리아 2021.10.26 0 8
4273 함수/공식
New 결제건수에서 중복이름 제거한 뒤 인원수표기 첨부파일 (1)
드래군 | 2021.10.26 | 추천 0 | 조회 18
드래군 2021.10.26 0 18
4272 VBA
New WORKBOOK_OPEN 에 두 가지 모듈 입력하는 법...
tu1541 | 2021.10.26 | 추천 0 | 조회 14
tu1541 2021.10.26 0 14
4271 함수/공식
New 중복 문자 제거후 정렬 방법 첨부파일 (1)
붉은머리샹크스 | 2021.10.26 | 추천 0 | 조회 17
붉은머리샹크스 2021.10.26 0 17
4270 함수/공식
New 몇일을 고민하다 이렇게 도움을 구합니다. (예제파일 첨부드렸습니다. 첨부파일 (1)
JS_SHIN | 2021.10.26 | 추천 0 | 조회 25
JS_SHIN 2021.10.26 0 25
4269 VBA
New VBA for문에 다른시트 vlookup 하기! 질문입니다! (1)
mir**** | 2021.10.26 | 추천 0 | 조회 11
mir**** 2021.10.26 0 11
4268 함수/공식
New 2개의 시트에 데이터 동시 입력 (2)
홍병주 | 2021.10.26 | 추천 0 | 조회 29
홍병주 2021.10.26 0 29
4267 함수/공식
New 가격 평균을 구하고 싶습니다. 첨부파일 (2)
워싱턴 | 2021.10.26 | 추천 1 | 조회 30
워싱턴 2021.10.26 1 30
4266 VBA
New 기능 추가 관련 질문입니다. (1)
노랑토끼 | 2021.10.26 | 추천 0 | 조회 21
노랑토끼 2021.10.26 0 21
4265 차트/그래프
New 동적차트 문제가 생겼어요 첨부파일 (2)
두찌아빠 | 2021.10.26 | 추천 0 | 조회 21
두찌아빠 2021.10.26 0 21
4264 함수/공식
New 원하는 범위만 지정해서 정렬하는게 가능할까요? 첨부파일 (2)
롤로랄라 | 2021.10.26 | 추천 0 | 조회 22
롤로랄라 2021.10.26 0 22
4263 함수/공식
New 중복제거 인원수 첨부파일 (5)
드래군 | 2021.10.26 | 추천 1 | 조회 26
드래군 2021.10.26 1 26
4262 함수/공식
New B시트에 있는 값을 A 시트에 불러오는 함수 알려주실 수 있나요....(예제파일 있음) 첨부파일 (5)
이주 | 2021.10.26 | 추천 0 | 조회 37
이주 2021.10.26 0 37
4261 함수/공식
New 도와주세요~ 두가지 질문입니다ㅠㅠ 첨부파일 (2)
엑셀왕초보 | 2021.10.26 | 추천 0 | 조회 26
엑셀왕초보 2021.10.26 0 26
4260 VBA
New 재고관리폼을 이용하여 LOT로 제품을 등록하고싶습니다. 첨부파일
가을전어 | 2021.10.26 | 추천 0 | 조회 24
가을전어 2021.10.26 0 24
4259 함수/공식
New 엑셀 배열 조건 합계 수식 관련해서 도와주세요 첨부파일 (1)
OoooPs | 2021.10.25 | 추천 0 | 조회 31
OoooPs 2021.10.25 0 31
함수/공식
New Re:엑셀 배열 조건 합계 수식 관련해서 도와주세요 (1)
Yukon | 2021.10.25 | 추천 0 | 조회 28
Yukon 2021.10.25 0 28
4258 함수/공식
New 함수값 표시방법 문의드려요~ 첨부파일 (4) 답변완료
바람투유 | 2021.10.25 | 추천 0 | 조회 25
바람투유 2021.10.25 0 25
4257 VBA
New ms 365 쓰시는분 계신가요? 사내 엑셀 동기화 + vba 관련 (4) 답변완료
백일호 | 2021.10.25 | 추천 1 | 조회 38
백일호 2021.10.25 1 38
4256 VBA
New 도와주세요 ㅠㅠ어떻게해야될까요 (1)
dud**** | 2021.10.25 | 추천 0 | 조회 37
dud**** 2021.10.25 0 37
4255 문서서식
New 사용자 지정서식 관련하여 앞에 문자 고정으로 하고, 뒤에 숫자 입력후 " -00"등을 붙이면 앞의고정 문자가 사라지지 않는 방법 (2) 답변완료
아빠의꿈 | 2021.10.25 | 추천 0 | 조회 25
아빠의꿈 2021.10.25 0 25
4254 함수/공식
New indirect 함수 관련 질문 입니다 해결방법좀 가르쳐주세요 (4)
밍장군 | 2021.10.25 | 추천 0 | 조회 29
밍장군 2021.10.25 0 29
4253 VBA
New QR바코드 한글작성 및 내용추가편집기능
H.B | 2021.10.25 | 추천 1 | 조회 18
H.B 2021.10.25 1 18
4252 VBA
New 크롤링 실행이 안되는 문제가 있습니다 (1)
미르르르르르르르릉 | 2021.10.25 | 추천 0 | 조회 21
미르르르르르르르릉 2021.10.25 0 21
4251 VBA
New 재고관리 VBA 강의 중 Insert_Record에 관해서 문의드립니다. (1)
올마이타 | 2021.10.25 | 추천 0 | 조회 27
올마이타 2021.10.25 0 27
4250 차트/그래프
New 일주일, 24시간 단위의 차트를 만드는 방법을 알고 싶습니다. 첨부파일 (2)
겨울 | 2021.10.25 | 추천 -1 | 조회 30
겨울 2021.10.25 -1 30