글
[Excel VBA] 파일생성후 시트 복사
카테고리 없음
2019. 4. 9. 18:41
목적
: 시트 만들고, 기존 시트 복사해서 넣기
실행 결과
: 새로운 파일 만들고, 그곳에 기존에 있던 내용중 특정 시트를 복사해서 붙여 넣는다.
코드
Sub copy_sheet() Dim wb As Workbook Dim template_sheet, format_sheet As Worksheet Dim file_name As String Dim template_row As Integer, template_col As Integer Dim i, j, k As Integer Set template_sht = Sheets("TEST") Set format_sheet = Sheets("양식") '양식 시트를 붙여 넣을 것임 template_row = template_sht.UsedRange.Rows.Count template_col = template_sht.UsedRange.Columns.Count '파일 생성++ For i = 44 To template_row file_name = Mid(template_sht.Rows(i).Columns(2).Value, 5, 9) '문자열 자르기 '생성할 파일이 이미존재하는지 여부확인 If Len(Dir(ThisWorkbook.Path & "\" & file_name & ".xlsx")) Then ' 현 워크북 파일 디렉토리에 F_name 변수값의 엑셀파일이 있다면 True 'MsgBox "파일명이 존재합니다." & i & file_name '메시지 띄움 Else Workbooks.Add '워크북 추가 format_sheet.Copy Before:=ActiveWorkbook.Sheets(1) '시트를 복사해 넣는다. ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & file_name & ".xlsx" ActiveWorkbook.Close SaveChanges:=True '현 디렉토리에 "file_name".xlsx 로 저장 후 종료 End If Next i '파일 생성-- End Sub |