단일 폴더 위치의 여러 통합 문서에서 다양한 범위의 데이터를 가져 와서 해당 정보를 모두 지나치게 미리 준비된 단일 워크 시트에 저장하려고합니다. 기존 파일.파일 폴더에서 정보를 복사하고 단일 통합 문서로 정보를 컴파일하는 VBA
Function GetFileList(FileSpec As String) As Variant
Dim FileArray() As Variant
Dim FileCount As Integer
Dim FileName As String
On Error GoTo NoFilesFound
FileCount = 0
FileName = Dir(FileSpec)
If FileName = "" Then GoTo NoFilesFound
Do While FileName <> ""
FileCount = FileCount + 1
ReDim Preserve FileArray(1 To FileCount)
FileArray(FileCount) = FileName
FileName = Dir()
Loop
GetFileList = FileArray
Exit Function
NoFilesFound:
GetFileList = False
End Function
Sub ClearCosting()
Dim var As Variant
Dim loc As String
loc = "C:\Users\m.raby\Desktop\testfolder"
var = GetFileList(loc & "*.xls*")
Dim StrFile As Variant
For Each StrFile In var
Workbooks.Open (loc & StrFile)
sh.Activate
On Error Resume Next
Set uCost = Cells.Find(What:="Run rate", After:=[A1], LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
Range(Cells(uCost.Row + 1, uCost.Column - 4), Cells(uCost.Row.End(xlDown), uCost.Column + 8)).Copy
On Error GoTo 0
Next StrFile
End Sub
은 내가 지금에 부착하고하는 데이터의 검색입니다 :
지금까지, 나는 파일의 목록을 얻을 수있는 기능을 가지고있다. 정보를 한 줄 아래에 4 개의 텍스트를 "Run rate"텍스트 왼쪽에 놓고 해당 셀에서 행의 빈 셀 앞에있는 마지막 셀과 오른쪽에 8 개의 열에 복사하려고합니다. .
이 정보를 복사하여 바탕 화면에있는 "sampletest.xlsx"라는 통합 문서에 각 정보 행의 파일 이름과 함께 붙여 넣기를 원합니다. 첫 번째 시트 만 (모든 통합 문서의 활성 시트 여야 함) 완료 한 후에는 다음 통합 문서로 이동하여 "sampletest.xlsx"에 다음 정보를 추가하십시오.
첫 번째 워크 시트에 대해서만이 범위를 모두 캡처 한 다음 파일 이름을 캡처하고이 모든 정보를 단일 통합 문서에 폴더를 반복하면서 어떻게 추가 할 수 있습니까?
내가 어떤이없는 :
주기 안에 당신이 좋아하는 일을하고 복사 할 영역을 찾을 수 있습니다 예를 들어 시작 워크 북 전체에서 반복되는 문제가 있지만 복사 + 붙여 넣기의 실제 코딩에 어려움이 있습니다 –
게시물에 두 사이클을 추가했습니다. 이제 방금 연 파일에서 시작 및 끝 행을 찾는 방법과 두 행 사이의 데이터를 원본 시트에 복사하는 방법을 보여줍니다. 이를 수행하는 더 좋은 방법이 있지만 내 의견으로는 이것이 무슨 일이 일어나는지 이해하는 가장 좋은 방법입니다. – stenci