2017-01-29 14 views
0

私はマクロにはかなり慣れていますが、実際にはかなり精巧なものを作りようとしました!私のコードに含まれている最後のバリデーションピースの後、私がマクロのほとんどの部分をコーディングしたモジュールを開こうとするたびに、Excelがクラッシュします。これは、このマクロを含むブックを保存しようとしても発生します。私はこのワークブックと他のExcelワークブック内の他のモジュールを開くことができます。この問題は、サブルーチンの最初にif条件を追加した後、特定のモジュールでのみ持続するように見えます。基本的には、下記の私はExcelが、私はこのマクロで何かをしようとするたびにクラッシュすることができます信じていることをしようとしたものです:vbaのモジュールを開くとExcelがクラッシュする

Sub Process() 
Application.ScreenUpdating = False 
Application.DisplayAlerts = False 
If ThisWorkbook.Sheets("Main").Range("XFD2").Value <> 2 Then 
    MsgBox "Create reports first!" 
    Else 
    'Lot of other stuff 
End If 
End Sub 

私は、このモジュールを開こうとするたびに、WindowsはMicrosoft Excelが動作を停止し、私と言います別のポップを得て、私に他の選択肢は与えないが、プログラムを閉じる。メッセージのスクリーンショットを添付しました。

Excel Message

私はオンラインで検索し、プログラムがインストールされている場合、Microsoftのプログラムでクラッシュすることを発生し、このような問題を知るようになったが、私は新しい何かをインストールしてもセーフモードに秀でるためにアドインをチェックしませんでした、私はCOMアドインを参照してください。

私はその最後の条件を削除しましたが、Excelではサブルーチンを開くことができません。私はこのマクロを構築するのに多くの時間を費やしました。

+0

が、これはExcelがクラッシュする原因とすべきではない、@KyloRenに同意します。 F8でコードをステップ実行して、エラーの内容を正確に見つけてください。私はそれが ''たくさんの他のもの 'のどこかにあると仮定することができます –

+0

@ KyloRen/@ Sam:あなたのコメントをありがとう。私はどうにかしてコードを開いて回復しました。私は単純に新しいブックにコードを貼り付けましたが、今は正常に動作します。 – Aqua

答えて

0

マクロは、ファイルを保存している方法でエラーが発生しているか、インストールに問題があるかのいずれかでExcelがクラッシュしてはなりません。

そして、あなたがそれらをtrueにScreenUpdatingDisplayAlertsをリセットする設定を確認して、

Sub Process() 
Application.ScreenUpdating = False 
Application.DisplayAlerts = False 
If ThisWorkbook.Sheets("Main").Range("XFD2").Value <> 2 Then 
    MsgBox "Create reports first!" 
    Else 
    'Lot of other stuff 
End If 
Application.ScreenUpdating = True 
Application.DisplayAlerts = True 
End Sub 
+0

@Aqua、問題を特定できない場合は、唯一の手段はExcelを再インストールすることです。マクロを終了するときには、それらを再度アクティブにする必要があります。そうしないと、マクロは無効になります。 – KyloRen

関連する問題