300개의 예

시트 가져오기

Import Sheets

아래에서 프로그램을 살펴보겠습니다. 엑셀 VBA 저것 다른 Excel 파일의 시트를 하나의 Excel 파일로 가져옵니다. .





Book4.xlsx, Book5.xlsx를 다운로드하고 'C: est'에 추가합니다.

상황:





Excel VBA를 사용하여 시트 가져오기

명령 단추에 다음 코드 줄을 추가합니다.



1. 먼저 String 유형의 두 변수, Worksheet 객체 및 Integer 유형의 변수 하나를 선언합니다.

없음예배 규칙서같이 , 파일 이름같이 , 시트같이워크시트, 합계같이 정수

2. 화면 업데이트 및 경고 표시를 끕니다.

응용 프로그램.화면 업데이트 =거짓
Application.DisplayAlerts =거짓

3. 변수 디렉토리를 초기화합니다. Dir 함수를 사용하여 첫 번째 *.xl??을 찾습니다. 이 디렉토리에 저장된 파일.

디렉토리 = 'c: est'
파일 이름 = Dir(디렉토리 & '*.xl??')

참고: Dir 함수는 여러 문자(*) 및 단일 문자(?) 와일드카드를 사용하여 다양한 유형의 Excel 파일을 모두 검색할 수 있도록 지원합니다.

셀에 수식 합계가 포함되어 있으면 엑셀

4. 이제 fileName 변수는 디렉토리에서 찾은 첫 번째 Excel 파일의 이름을 보유합니다. 을 추가하다 while 루프 수행 .

하다 하는 동안파일 이름 ''

고리

루프에 다음 코드 줄(5, 6, 7 및 8)을 추가합니다.

5. 닫힌 Excel 파일에서 워크시트를 복사하는 간단한 방법은 없습니다. 따라서 Excel 파일을 엽니다.

Workbooks.Open(디렉토리 및 파일 이름)

6. Excel 파일의 시트를 import-sheet.xlsm으로 가져옵니다.

을위한 시트통합 문서(fileName).Worksheets
총계 = 통합 문서('import-sheets.xlsm').Worksheets.count
통합 문서(fileName).Worksheets(sheet.Name).복사 _
after:=Workbooks('import-sheets.xlsm').Worksheets(전체)
다음시트

설명: 변수 total은 import-sheet.xlsm의 총 워크시트 수를 추적합니다. Worksheet 개체의 Copy 메서드를 사용하여 각 워크시트를 복사하고 import-sheets.xlsm의 마지막 워크시트 뒤에 붙여넣습니다.

7. 엑셀 파일을 닫습니다.

통합 문서(fileName).닫기

8. Dir 함수는 특수 함수입니다. 다른 Excel 파일을 가져오려면 인수 없이 Dir 함수를 다시 사용할 수 있습니다.

Excel에서 vba 함수를 작성하는 방법
파일 이름 = 디렉터리()

참고: 일치하는 파일 이름이 더 이상 없으면 Dir 함수는 길이가 0인 문자열('')을 반환합니다. 결과적으로 Excel VBA는 Do While 루프를 종료합니다.

9. 화면 업데이트를 켜고 경고를 다시 표시합니다(루프 외부).

응용 프로그램.화면 업데이트 =진실
Application.DisplayAlerts =진실

10. 프로그램을 테스트합니다.

결과:

시트 가져오기 결과

7/8 완료! 책과 시트에 대해 자세히 알아보기 >
다음 장으로 이동: 범위 개체



^