0
アクティブなワークブックのデータを2番目のワークブックにコピーし、2番目のワークブックを閉じて最初のワークブックを閉じるExcelマクロでVBAを使用しています。問題は、ActiveWorkbook.close falseはワークブックではなくワークブックのみを閉じることです。 Excelはまだ実行中です。コードの2つのセクションは別々にテストされ、正常に動作しました。マクロにまとめると、閉じた最初のブックの問題が終了します。私のコードはマクロで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