Fly to the sky & Return

[vba] 선택된 엑셀파일의 첫번째 sheet를 원하는 파일로 옮기기 본문

프로그래밍/엑셀 & VBA

[vba] 선택된 엑셀파일의 첫번째 sheet를 원하는 파일로 옮기기

낼은어떻게 2014. 4. 8. 16:25
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

특정 폴더내에 여러가지 엑셀파일이 있고 이 파일이 가지고 있는 첫번째 sheet들을 모두 모두 모와서 한가지 엑셀파일로 만들기 위한 vba입니다..  참고하시기 바랍니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Option ExplicitSub sheets_copy()   
Dim IngCount As Integer   '선택된 파일 갯수를 넣을 변수                      
Dim fileName As String                         '각 파일 이름을 넣을 변수    
Dim wkBk As Workbook                        '각 파일을 넣을 변수    
Dim wkbkName As String                      '시트들을 모을 파일이름    
 
Application.ScreenUpdating = False       '화면 업데이트 (일시) 정지                       
wkbkName = ActiveWorkbook.Name      ' 현재 매크로가 실행되는 파일명입니다. 여기로 시트들을 모을것입니다.     
       
With Application.FileDialog(msoFileDialogOpen)          '엑셀파일 선택하기        
    .AllowMultiSelect = True        
    .Show   
                                        '폴더 선택창 띄우기        
    If .SelectedItems.Count = 0 Then        '취소 선택 시            
        Exit Sub                                      '매크로 종료       
     Else                                               '파일 존재 시            
        For IngCount = 1 To .SelectedItems.Count            
        fileName = .SelectedItems(IngCount)                        
        Set wkBk = Workbooks.Open(fileName)            
        wkBk.Sheets(1).Copy before:=Workbooks(wkbkName).Sheets(1)  '첫번째 시트를 copy                        
        wkBk.Close                        
        Next IngCount                    
    End If          
End With                                                                       
End Sub
cs