목적

: 시트 만들고, 기존 시트 복사해서 넣기

 

실행 결과

: 새로운 파일 만들고, 그곳에 기존에 있던 내용중 특정 시트를 복사해서 붙여 넣는다.

 

코드

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

설정

트랙백

댓글