아래에서 프로그램을 살펴보겠습니다. 엑셀 VBA 저것 다른 Excel 파일의 시트를 하나의 Excel 파일로 가져옵니다. .
Book4.xlsx, Book5.xlsx를 다운로드하고 'C: est'에 추가합니다.
상황:
명령 단추에 다음 코드 줄을 추가합니다.
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. 프로그램을 테스트합니다.
결과:
다음 장으로 이동: 범위 개체