다음과 같은 문제점이 있습니다. 나는 이미 일부 워크 시트가있는 Excel 파일을 가지고 있는데,이 파일을 내 메인 파일이라고 부르며 하위 디렉토리에는 각각 하나의 시트가 들어있는 5 개의 다른 Excel 파일이 있습니다. 이제 Excel 파일의 내용을 내 주 파일에 복사해야하고 내 주 파일에는 하위 파일의 모든 파일에 대한 시트가 있어야합니다.Excel 파일에서 워크 시트 복사
이 나에게 그렇게 쉬운 일이 아닙니다하지만 난 다음있어, 그래서 내가 VBA에 새로운 오전 :
이Sub Makro1()
Dim objWorkbook As Workbook
Dim mybook As Workbook
Set basebook = ThisWorkbook
Dim strPath As String
strPath = ThisWorkbook.Path + "\data"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
objExcel.DisplayAlerts = False
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder(strPath)
Dim ws As Worksheet
For Each objFile In objFolder.Files
If objFso.GetExtensionName(objFile.Path) = "xls" Then
Set objWorkbook = objExcel.Workbooks.Open(objFile.Path)
objWorkbook.Worksheets(1).Copy
Set ws = basebook.Sheets.Add
ws.Paste
objWorkbook.Close
Set objWorkbook = Nothing
Set ws = Nothing
End If
Next
objExcel.Quit
End Sub
그래서 내 주요 파일의 시트를 만들지 만이 파일의 내용을 붙여 doesnot 이 시트에 서브 디렉토리에 있지만 Ctrl + C로 복사 한 것.
해결책이나 힌트에 감사드립니다. 사전에
덕분에
데이비드
대단히 감사합니다. 나는 objWorkbook.Worksheets (1) .UsedRange.Copy'를 사용하여 끝 냈습니다. 왜냐하면 워크 시트가 얼마나 큰지 미리 알지 못했기 때문입니다.하지만 이제는 잘 작동하고 있습니다. 다시 감사합니다 –