Excel Visual Basic での実行時エラー 13 の型の不一致: 修正
Excel スプレッドシートで Visual Basic コードを実行しているときに、「実行時エラー 13。型が一致しません」というプロンプトが表示されたことがあります。 Visual Basic アプリケーション モジュールは、ワークシートを強化するのに役立ちます。ただし、他のコードと同様に、Visual Basic コードでもランタイム エラーが発生する可能性がありますが、これはごく普通のことです。システム上のこの Visual Basic エラーを修正するには、コンピュータ上で次の一連の解決策に従ってください。
解決策 1 – 値のタイプを確認する
この型不一致エラーが発生するユーザーの大部分は、コード内で宣言された値の型が間違っているために発生します。
ステップ 1 – Excel ファイルを開いている間に、「開発」タブに移動します。
ステップ 2 –後で、「Visual Basic」をクリックして、ワークシートの Visual Basic コードをロードします。
または、実行時エラープロンプトで「デバッグ」ボタンをタップすることもできます。
ステップ 3 – Visual Basic アプリケーションが開いたら、右側のペインでコードを明確に確認します。
ステップ 4 –コード内で宣言された変数の型を確認します。
[例 –
Sub Excel_MisMatch
Dim k As Integer
k = “TGP”
メッセージボックス k
エンドサブ
ご覧のとおり、ここでは k が整数として宣言されています。整数値は、 -2,147,483,647 から 2,147,483,647 の範囲内の任意の値をとります。しかし、コードの次の行では、 k は “TGP” となっており、これは間違ったタイプのデータです。
コードを少し調整するだけでこれは修正されるはずです –
Sub Excel_MisMatch
Dim k As Integer
k = “1”
メッセージボックス k
エンドサブ
]
この後、変更を保存し、VB コードをもう一度実行します。今回は、実行時エラーなしで実行されます。
解決策 2 – 入力タイプを微調整する
2 番目に顕著な理由は、Visual Basic コードの実行時の入力が間違っていることです。
ワークシートのユーザーが入力として正しい形式/タイプのデータを入力していることを確認する必要があります。たとえば、コード スニペットを次のように設計したとします。
Sub Excel_MisMatch
Dim k As String
Dim q As Integer
k = InputBox(“資格情報を入力してください”)
q = InputBox(“年齢を入力してください”)
ここで、 q変数は整数であるため、ユーザーが文字を入力しないようにする必要があります(文字を入力として受け入れることはできません)。
解決策 3 – VBA デバッグ ツールを使用する
コードをデバッグするために使用できる専用の VBA デバッグ ツールがあります。
ステップ 1 – Microsoft Excelで、Win+F11キーを同時に押します。
ステップ 2 – Visual Basic モジュールがロードされると、右側のペインにコード スニペットが表示されます。
ステップ 3 –次に、サブキーの前で1 回クリックします。
ステップ 4 –この後、「デバッグ」ツールをクリックし、ステップ操作 (ステップイン、ステップオーバー、ステップアウトなど) を選択してコードをデバッグします。
さらに、サブプロシージャを使用して関数をデバッグすることもできます。
ステップ 5 –コードのすべての行に対して同じことを繰り返します。
ターミナルから Visual Basic コードをコンパイルし、テストします。
Visual Basic パネルで型の不一致エラーが発生することはありません。
解決策 4 – オペレーションを正しくデカールする
このタイプの不一致エラーが発生するもう 1 つの理由として、コード内で使用されている操作の構成が間違っていることが考えられます。コーディング中に、他の 2 つのデータ型を同時に操作することはできません。
例–
Sub Excel_MisMatch
Dim k As Integer
Dim q As String
k = “1”
q=「TGP」
MsgBox k*q
エンドサブ
変数が k と q は 2 つの異なるデータ型 (k は整数、q は文字列) であるため、それらに対して演算子関数を使用することはできません。したがって、Visual Basic コードをチェックして、そのような問題が発生した場合は排除してください。
コメントを残す