2014-03-28 4 views
1

아래의 코드는 모든 하위 폴더 (모든 하위 폴더)에서 모든 Excel 통합 문서를 반복하고 각 하위 폴더에서 데이터를 복사하는 코드입니다. 모든 Excel 통합 문서 및 다른 Excel 통합 문서에 추가. 아래 코드를 Excecuting "개체가이 속성 또는 메서드를 지원하지 않습니다 : 'objsubfolder.files" "이 오류로 인해 도움이됩니다.많은 (많은) 엑셀 통합 문서의 데이터를 여러 하위 폴더에 복사하고 다른 Excel 통합 문서로 복사

명시

사용 옵션 (그리고 희미한를 먼저 사용하기 전에 즉시 모든 변수() 초기화)

을 :
'Sub RunCodeOnAllXLSFiles() 

Set objExcel = CreateObject("Excel.Application") 

strPath = "C:\Documents and Settings\SupriyaS\Desktop\su" 
pathName="xlsx" 

if strPath = "" then Wscript.quit 
if pathName = "" then Wscript.quit 

'Creating an Excel Workbook in My Documents 
Set objWorkbook2= objExcel.Workbooks.Add() 

objExcel.Visible = True 
objExcel.DisplayAlerts = False 

Set objFso = CreateObject("Scripting.FileSystemObject") 
Set objFolder = objFso.GetFolder (strPath) 
Set objsubFolder = objfolder.subFolders 
set objfile = objsubfolder.files 

for each objsubfoleder in objfolder.subfolders 

For Each objFile In objsubFolders.Files 

If objFso.GetExtensionName (objFile.Path) = "xlsx" Then 
Set objWorkbook = objExcel.Workbooks.Open(objFile.Path) 

Set objWorksheet = objWorkbook.WorkSheets(1) 
objworksheet.Activate 

' Select the range on Sheet1 you want to copy 
objWorkbook.Worksheets("SHEET1").usedrange.Copy 

objworkbook.close 

Set objRange = objExcel.Range("A1") 
intNewRow = objExcel.ActiveCell.Row + 3 
strNewCell = "A" & intNewRow 
objExcel.Range(strNewCell).Activate 

' Paste it on sheet1 of workbook2, starting at A1 
objWorkbook2.Worksheets("Sheet1").Range(strNewCell).PasteSpecial 

Set objWorksheet = objWorkbook2.Worksheets(1) 

End If 
next 
next 
+0

가능한 복제본 [ 많은 Excel 통합 문서에서 다른 Excel 통합 문서로 데이터 복사] (http://stackoverflow.com/questions/22784752/copying-data-from-many-excel-workbook-to-another-excel-workbook) – MP24

답변

0

는 말을 할 수있는 대답으로 게시 됨

"objsubfolder"와 같은 오타를 피하십시오.

+0

감사합니다. 모든 변수를 선언 한 후에 작동하지 않는다. 오류가 발생한다. "Object는이 속성이나 메서드를 지원하지 않습니다 : 'files'" – Learner

관련 문제