ExcelのVBAのエラーについて質問です。 ブック内全てのシートの変更を”log”という名前にシートに記録するというもので、logのシートに変更をする場合パスワード(logpass)の入力が求められを合っているとそのまま変更が実行でき、違うと操作を取り消すというものなのですが、間違えた場合「エラーコード1004、'Undo'メソッドは失敗しました:'_Application'オブジェクト」と表示され、デバックを押すと下から5行目のApplication.Undoの行が黄色く表示されますが解決方法がわからないので質問させていただきます。以下ThisWorkbook内のコード全文になります。よろしくお願いします。 Dim Log As Variant Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Log = Target.Value End Sub Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim clm As Long Application.EnableEvents = False With Worksheets("log") clm = .Cells(Rows.Count, 1).End(xlUp).Row + 1 .Cells(clm, 1).Value = Sh.Name .Cells(clm, 2).Value = Target.Address .Cells(clm, 3).Value = Target.Value .Cells(clm, 4).Value = Now .Cells(clm, 5).Value = Application.UserName End With Application.EnableEvents = True If Sh.Name = "log" Then If InputBox("パスワードを入力してください") <> "logpass" Then MsgBox "パスワードが正しくありません" Application.Undo End If End If End Sub
Excel