0
활성 통합 문서의 데이터를 두 번째 통합 문서로 복사하고 두 번째 통합 문서를 닫은 다음 첫 번째 통합 문서를 닫는 Excel 매크로에서 VBA를 사용하고 있습니다. 문제는 ActiveWorkbook.close false는 통합 문서가 아니라 워크 시트를 닫는 것입니다. Excel이 아직 실행 중입니다. 코드의 두 섹션은 별도로 테스트되었고 정상적으로 작동합니다. 매크로에 넣을 때 닫는 첫 번째 통합 문서 문제가 종료됩니다. 내 코드 :매크로에서 Excel VBA를 사용하여 활성 통합 문서 닫기
Sub SacoFieldUnitDataCopy()
' SacoFieldUnitsDataCopy Macro
' This macro copies the Saco Field Units Avail_Run Stat sheet to a new workbook.
'
ActiveWorkbook.RefreshAll
Call ConvertToValues("Saco Field Units Avail_Run Stat")
Sheets("Saco Field Units Avail_Run Stat").Select
Sheets("Saco Field Units Avail_Run Stat").Copy
ChDir "C:\Saco Units Avail_Run Stats"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs Filename:= _
"C:\Saco Units Avail_Run Stats\Saco Unit Avail_Run Data" & " " & VBA.Format(Date, "MM-DD-YYYY") & ".xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Call CloseAllOtherWorkbooks
Application.Wait (Now + TimeValue("0:00:03"))
ThisWorkbook.Close False
Application.DisplayAlerts = True
End Sub
Function ConvertToValues(Sheetname As String)
'Select Sheet
Sheets(Sheetname).Select
'Select All Cells
Range("B4:C26").Select
Selection.Copy
'Paste Special to remove formulas
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Put cursor back on cell a1
Range("a1").Select
End Function
Function CloseAllOtherWorkbooks()
Dim WBs As Workbook
For Each WBs In Application.Workbooks
If Not WBs.Name = ThisWorkbook.Name Then WBs.Close False
Next WBs
End Function
아무 도움이됩니다. 미리 감사드립니다.
"Application.Quit"를 사용할 때 컴퓨터는 Excel에서 예기치 않은 종료가 발생하여 Excel이 다시 시작된다고 생각합니다. – johnveit