Daily Life of BlueRose

컴퓨터 & 코딩 공부/엑셀 & VBA

엑셀 VBA 기본기능 정리 - 파일 조작

푸른로즈 2023. 11. 16. 21:54
728x90

엑셀 VBA 기본기능 정리 - 파일 조작

    • 열기 및 닫기
Dim originFile
    Set originFile = Application.GetOpenFilename
If originFile = Empty Then Exit Sub
    Set originFileWB = Workbooks.Open(fileName:=originFile, Password:="p.w.")
originFileWB.Close savechanges:=False
    • 폴더 내 모든 엑셀파일을 하나로 통합하기
sub GetDataInfolder()
Dim strPath As String, fName as String
Dim wb As Workbook
Dim rngS As Range
Dim cntRows as Long
sheet1.UsedRange.Offset(1).Clear '합칠 시트의 제목줄이외의 셀을 전부 비워서 초기화한다
strPath = "경로" '상대참조로 할 경우에는 ThisWorkbook.Path 혹은...
fName = strPath & "*.xls*" 'xls, xlsx의 확장자를 가진 모든 파일명을 불러온다
if fName = "" then
msgbox "폴더 내 엑셀파일이 존재하지 않음"
exit sub
end if

Do while fName <> "" '처리할 파일명이 더 이상 존재하지 않을때까지 반복문 작동
set wb = workbooks.Open(filename:=strPath & fName, updatelinks:=0, readonly:=True)
'참조셀 업데이트 방지 및 읽기전용 처리를 통해 처리속도 증진
set rngS = wb.Sheet(1).Usedrange
set rngS = rngS.Offset(1).Resize(rngS.Rows.Count-1)
cntRows = rngs.Rows.Count
Sheet1.Cells(Rows.Count, "a").end(xlUp).Offset(1).Resize(cntRows, '불러올 셀의 행 너비')= rngS.Value
wb.Close
fName = Dir '다음 파일명을 받아온다 (이 문장이 없으면 무한순환오류에 걸린다)
Loop
반응형