다음 코드 For 나는 한 통합 문서의 범위에서 데이터를 가져 와서 탭 이름을 기반으로 지정된 폴더에서 찾은 다른 통합 문서에 놓는 것이 좋습니다.탭 이름을 기반으로 파일을 엽니 다?
책상 위에있는 폴더에는 "Master, Processor Alex, Processor Sue, Processor Bill"이라는 파일이 4 개 있습니다. Master.xlsm에는 "Skip Me, Alex, Sue, Bill"의 네 개의 탭이 있습니다. Alex et al의 해당 탭에서 통합 문서 마지막 페이지로 전송 된 코드의 범위가 필요합니다.
불행하게도 나는 무릎 꿇기에 F8을 사용하여 단계를 수행 할 수 없기 때문에 어떤 종류의 프로젝트 사이드 바가 열립니다. 그게 나에게 오류를주고 나는 VBA에 익숙하지 않기 때문에 오류를 이해하지 못한다. 하지만이 프로젝트는 나에게 매우 중요합니다.
루프를 사용하여 작업 한 코드를 가져 와서 루프를 사용하여 다시 작성하고 아래받은 탭 이름에서 통합 문서 열기를 시도했습니다. 나는 여기에 어디에도 없었던 곳에 오류가 생겼다.
Sub SheetLoop()
Dim ws As Worksheet
Dim SourceWB As Workbook
Set SourceWB = ThisWorkbook
Application.ScreenUpdating = False
For Each ws In Worksheets
If ws.Name <> "Skip Me" Then
ws.Activate
ws.Select
Range("A2:M10").Select
Selection.Copy
Workbooks.Open ("C:\Users\Scott\Desktop\VBA Proj\" & ws.Name & ".xlsx")'<---- -???
Worksheets(Worksheets.Count).Select 'Selects last worksheet page
'Selects destination looking for first blank cell in "B"
Set ws = ActiveSheet
For Each Cel In ws.Columns(2).Cells
If IsEmpty(Cell) = True Then Cell.Select: Exit For
Next Cel ' corrected Cell > Cel
ActiveSheet.Paste 'Pastes selection
Application.CutCopyMode = False 'Clears Clipboard for next copy action
End If
Next ws
End Sub
당신은 '시트'컬렉션을 통해 루프 매우 간단한 서브 루틴으로 시작합니다. 그러면 Sheet.Name (즉, activeworkbook.Sheets (i) .name)이 제공됩니다. 그런 다음 해당 이름을 파일 이름 문자열의 일부로 만들고 통합 문서를 엽니 다. 코드를 사용하여 질문을 업데이트하려는 경우 다른 지침을 제공 할 수 있습니다. –
다른 사람들을위한 코드를 작성하는 것에 대해 눈살을 찌푸리게합니다 - 그래서 사람들이 다른 사람들을위한 솔루션을 개발하는 사이트가 아닙니다. 특정 문제가 발생한 사람들 (즉, 코드 오류)을 돕는 것입니다. 나는 당신이 vba 코드를 포함하고있는 또 다른 질문을 올린 것을 본다. 그래서 간단한 서브 루틴은 당신이 시작할 곳이다. 모든 시트 이름을 줄 루프를 만들고 경로 및 파일 이름 (예 : MSgBox "C : \ ... \ xxx \"및 & ".xlsx")을 만든 코드 줄을 추가하십시오. 질문과 모두가 부 대 정리를 도와 드리겠습니다. :) –