셀의 값 / 수식을 포함하는 모든 워크 시트를 다른 새 통합 문서에 복사 / 붙여 넣기를 원합니다.
이 코드는 첫 번째 ws를 복사하지만 다른 모든 코드는 복사하지 않습니다. vba 코드에서 ws의 모든 이름을 쓰지 않고 모든 ws가 복사되고 붙여 넣어 지는지 어떻게 확인할 수 있습니까?
Sub CopyPaste()
Dim ws As Worksheet, wb As Workbook
Set ws = ActiveSheet
Set wb = Workbooks.Add(xlWBATWorksheet)
ws.Range("A1:G10").Copy
wb.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
wb.Sheets(1).Range("A1").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End Sub
그래서 두 번째 통합 문서를 저장하여 이름을 지정할 것이라고 가정합니까? 따라서 저장하려는 위치 아래에 경로를 추가하면 시트 이름도 유지됩니다. 디버거 오류가 발생하는 이유를 잘 모르겠습니다.이 코드를 사용해보고 여전히 문제가 발생하는지 확인하십시오.
Sub newworkbook()
Dim WBN As workbook, WBC As workbook, WB As workbook
Dim WS As String
Dim SHT As Worksheet
Set WBN = Workbooks.Add
For Each WB In Application.Workbooks
If WB.Name <> WBN.Name Then
For Each SHT In WB.Worksheets
SHT.Copy After:=WBN.Sheets(WBN.Worksheets.Count)
WBN.Sheets(WBN.Worksheets.Count).Name = (SHT.Name) & " "
Next SHT
End If
Next WB
Application.DisplayAlerts = False
WBN.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Delete
WBN.Application.DisplayAlerts = True
ActiveWorkbook.SaveAs "C:\YOURPATH\timetable_v2.xls" 'change path to whatever
End Sub
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다