우리는 디렉토리에있는 모든 닫힌 통합 문서 및 워크 시트를 통해 루프 및 표시 모든 이름 엑셀 VBA에서 프로그램을보고 아래.

Book1.xlsx, Book2.xlsx, Book3.xlsx, Book4.xlsx 및 Book5.xlsx을 다운로드에 추가 “C : \ 테스트 \”

상황 :

Files in a Directory Example

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

  1. 먼저, 우리는 String 유형, 워크 시트 개체의 두 변수 및 유형 정수의 두 변수를 선언합니다.

Dim directory As String, fileName As String, sheet As Worksheet, i As Integer, j As Integer
  1. 화면 깜박임을 피하기 화면 업데이트를 해제하십시오.

Application.ScreenUpdating = False
  1. 초기화 변수 디렉토리. 우리는 첫번째 .xl를 찾기 위해 Dir 함수를 사용 ?? 파일이 디렉토리에 저장됩니다.

directory = "c:\test\"

fileName = Dir(directory & ".xl??")

주 : (?) Dir 함수는 여러 문자 (*) 및 단일 문자의 사용을 지원 엑셀 파일의 모든 다른 유형을 검색하는 와일드 카드.

  1. 변수 파일 이름은 현재 디렉토리에있는 첫 번째 Excel 파일의 이름을 보유하고 있습니다. DO가 While 루프를 추가합니다.

Do While fileName <> ""

Loop

루프로 (5, 6, 7, 8, 9로) 다음의 코드 라인들을 추가한다.

  1. 초기화 유형 정수의 변수와 행 난의 첫 번째 열에 Excel 파일의 이름을 추가합니다.

i = i + 1

j = 2

Cells(i, 1) = fileName
  1. 폐쇄 Excel 파일에서 데이터를 추출 (또는 시트 이름)에 간단한 방법은 없습니다. 따라서, 우리는 Excel 파일을 엽니 다.

Workbooks.Open (directory & fileName)

행 난의 다른 컬럼에 모두에게 엑셀 파일의 시트 이름을 추가 7..

For Each sheet In Workbooks(fileName).Worksheets

Workbooks("files-in-a-directory.xlsm").Worksheets(1).Cells(i, j).Value = sheet.Name

j = j + 1

Next sheet
  1. 닫기 Excel 파일.

Workbooks(fileName).Close
  1. Dir 함수는 특별한 기능입니다. 다른 Excel 파일을 얻으려면, 당신은 인수없이 다시 디렉터리 기능을 사용할 수 있습니다.

fileName = Dir()

참고 : 더 이상 파일 이름이 일치하지 않는 경우, Dir 함수 길이가 0 인 문자열 ( “”)을 반환합니다. 그 결과, 엑셀 VBA 루프 동안 할 일을 남겨 둘 것이다.

(루프 외부) 다시 업데이트 화면 (10)의 전원을 켭니다.

Application.ScreenUpdating = True
  1. 시험 프로그램.

결과 :

Files in a Directory in Excel VBA