1

ユーザーが開いて完了する「マスター」タイムシート マクロがあります。閉じると、(ThisWorkbook 内の) マクロを強制的に実行し、マスターの名前を範囲保存名に保持されているファイル名に変更します。

これは、ユーザーが初めて Excel を開き、ワークブックを編集して閉じるときに完全に機能します。ただし、ユーザーが "マスター" タイムシートを 2 回目に開き、別のタイムシートを完了して閉じ、その間に Excel を閉じなかった場合、マクロは実行されません。

リセットする必要がある「グローバル変数」があるかどうかを広範囲に検索しましたが、喜びはありません。

これがコードです。アドバイスをいただければ幸いです。

Private Sub Workbook_BeforeClose(SaveAsUI As Boolean)
 If Not SaveAsUI Then
    Cancel = True
    Application.EnableEvents = False
    MSG1 = MsgBox("This File will be saved as....... " & Sheets("Timesheet").Range("savename").Value & ".xlsm", vbOKOnly, "Confirm")
    Me.SaveAs Filename:=ThisWorkbook.Path & "\" & Sheets("Timesheet").Range("savename").Value & ".xlsm"
    ActiveWorkbook.Close False
    Application.EnableEvents = True
   End If
End Sub
4

1 に答える 1

0

@Bob、これはBeforeCloseイベントと関係があるようです。ワークブックを閉じる前に、SaveAs. これにより、いくつかの問題が発生する可能性があります。このマクロをデバッグしようとしましたか? はいの場合、何を見つけましたか?

于 2013-05-24T08:26:15.783 に答える