0
Excel VBAを初めて使用していますが、MatlabとC++のマイナーコード期限があります。オプションExplicit、ワークシート変更イベント、Excel VBA
私は特定のセルは、ドロップダウンリストから特定のテキスト文字列を含むように変更された場合のMsgBoxメッセージを表示することを意図し、次のコードを書かれている:
Options Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$7" Then
If Range("C7").Value = "Blue home" Then
MsgBox "Hello world!"
End If
End If
End Sub
は、私は、次のエラーメッセージが表示されます。コンパイルエラー:外部プロシージャが無効
コードから明示的なオプションを削除し、VBEのツールでrequire変数宣言オプションをオフにすると、コードが機能します。したがって、オプションの明示的な行が問題を引き起こします。
オプションに明白な問題を引き起こす原因は何ですか?コード内に宣言する必要のある変数があることは実際には分かりません。
ありがとうございました!
それは 'オプションExplicit'ない'オプションExplicit'です。 – Jeeped
あなたの 'Worksheet_Change()'サブは同じワークシートのセルを編集する必要があり、 'If Target.Address ="の直後に 'Application.EnableEvents = False'を置く必要があります$ C $ 7" Then'ステートメントと ' Application.EnableEvents = True'対応する 'End If'の直前 – user3598756
コードが通常のコードモジュールですか?ワークシート・コード・モジュールに属します。 –