元のシートを保存するたびに、このシートをコピーします。Excel VBA aftersaveイベントが機能しません
これを達成するために、モジュール上でマクロを呼び出すにAfterSave
を使用しようとしていました。
コードは以下の通りです:
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
If Success Then
Application.EnableEvents = False
Call CopiarNovaPlanilha
Application.EnableEvents = True
End If
End Sub
Application.EnableEvents
は私がHEREを学んだとしてだけでループを回避することです。ここではモジュール内のマクロです:
Sub CopiarNovaPlanilha()
ActiveWorkbook.SaveCopyAs "I:\CGP\DEOPEX\01 - Supervisão\10 - Alocação das equipes\Consulta Alocados\ALOCACAO TECNICOS.xlsx"
End Sub
AfterSave
ではないので、私は私の元のファイルを保存するときにそれが必要として、それは私のサブを呼び出していないが、このコードは完璧に働いています。
このイベントでは何が起こっているのですか?
どのような面がうまくいきませんか? 'Workbook_AfterSave'イベントが呼び出されていますか? –
これは私のために働いていますが、xlsx拡張子を付けてファイルを保存すると、そのファイルを開くと開くことができなくなります。イベントを設定するためにサブルーチンを実行しようとしましたが、書き込みやデバッグ中に誤って無効にしてしまったのですか? – wrslphil
これは違いがあるのかどうか分かりませんが、あなたは '.xlsx'として保存しているようです。マクロ対応の 'xlsm'で保存します。 –