実行時エラー 9 サブスクリプションが範囲外です: 修正方法

実行時エラー 9 サブスクリプションが範囲外です: 修正方法

Microsoft Excel の Visual Basic の特定のシナリオで、エラー メッセージ「実行時エラー 9 」が表示されます。このエラーの主な理由はメインの基本コードの範囲の問題ですが、特定のシナリオではこのジレンマに直面する可能性があります。このガイドでは、このエラーが発生する可能性があるすべての解決策と、これをトラブルシューティングする方法について説明しました。

解決策 1 – コードに記載されている範囲を確認する

実行時エラー 9」は、コード内でアサートされた範囲が正しく構成されていない場合に発生します。したがって、その場合は、コード内で言及されている変数の範囲を確認してください。

Sub Newfunction()

バリアントとしての Dim Array()

配列(1) = “ゼロ”

エンドサブ

最初の1分

コードでわかるように、配列はバリアントとして宣言されていますが、適切な範囲はありません。そのため、このコードを VB エディターで実行すると、添字エラーが発生します。

コード内の範囲を変更するだけで、準備は完了です。

解決策 2 – ワークシートの名前を調整する

複数のワークシートを同時に操作している場合、コード内で指定されているワークシートの名前が間違っている可能性があります。

Sub CommandButton1_Click()

Worksheets(“シート”).Range(“A1:D5”).Select

選択範囲.コピー

Worksheets(“Sheet1”).Activate

Worksheets(“Sheet1”).Range(“A1:D5”).Select

ActiveSheet.Paste

Application.CutCopyMode = False

エンドサブ

ご覧のとおり、上記の VBA コードを実行すると、Excel は範囲外のエラー コード 9 の下付き文字を表示します。この理由は、言及されているワークブックの範囲が Sheet であり、操作がSheet 2ではなく Sheet 1 に対して行われるためです。

さて、あなたはこれを行うことができます –

ステップ 1 –ワークシートを右クリックし、「名前の変更」をタップしてワークシートの名前を変更します。

ステップ 2 – ワークブックの名前を修正します。

min という名前に変更します

または、

この方法でコードを再調整できます –

Sub CommandButton1_Click()

Worksheets(“シート”).Range(“A1:D5”).Select

選択範囲.コピー

ワークシート(“Sheet2”).Activate

Worksheets(“Sheet2”).Range(“A1:D5”).Select

ActiveSheet.Paste

Application.CutCopyMode = False

エンドサブ

ワークスペース名の変更分

このコードを実行すると、添字範囲の問題はもう発生しなくなります。

解決策 3 – マクロを有効にする

VBA スクリプトがマクロ モジュールを使用していて、それを有効にしていない場合は、マクロを有効にすることで問題を解決できるはずです。

ステップ 1 – Excelワークブックに移動し、「ファイル」メニューをクリックします。

ステップ 2 今度は、左側のリボンから「オプション」メニューをクリックします。

Excel オプション 最小 1

ステップ 3 – 「セキュリティ センター」タブを見つけて開く必要があります。

ステップ 4 –右側のペインで、「セキュリティ センターの設定」オプションをクリックして開きます。

トラスト センター 最小 1

ステップ 5 –ここには多くのオプションがあります。 「マクロ」タブを選択して開きます。

ステップ 6 –ここで、コード内のマクロ設定に応じて、これらのオプションのいずれかをオンにします –

Disable all macros except digitally signed macros

すべてのマクロを有効にする (推奨されません: 潜在的に危険なコードが実行される可能性があります)

ステップ 7 –OK」をタップして変更を Excel に保存します。

マクロを有効にする最小値

これらの変更を Excel に保存した後、VB コードをもう一度実行できます。

解決策 4 – コードを段階的にデバッグする

他の端末と同様に、Visual Basic モジュールにはデバッグ ツールがあります。これらを使用してコードのトラブルシューティングを行います。

ステップ 1 – MS Excelページを開いた後、「開発者」タブに移動します。

ステップ 2 –次に、最初のオプション「Visual Basic」をタップします。

Visual Basic の最小開発

ステップ 3 – Visual Basic コンソールを開いたら、疑わしい値を持つステップを選択します。

ライン分を選択してください

ステップ 4 –この後、「デバッグ」メニューを開き、そこにあるツールを使用して、この添字エラーの原因となっているバグを見つけます。

分でデバッグしてください

これで、コードを自分でテストできるようになりました。

解決策 5 – Excel ファイルを開いて修復する

スプレッドシート自体が破損している可能性があります。したがって、Excel ファイルを修復して開く必要があります。

ステップ 1 – MS Excel アプリに変更を保存します。

ステップ 2 – Microsoft Excelアプリケーションを個別に起動します。

ステップ 3 –今度は、最初のメニュー「ファイル」をタップします。

ステップ 4 –次はこちらへ –

Open > Browse

開く 参照 分 e1707839238345

ステップ 5 –次のステップは、Excel ファイルの場所に手動で移動することです。

ステップ 6 –次に、そこにあるファイルを選択します

ステップ 7 –最後に、リストの一番下のオプションを「開いて修復」に切り替えます。

min e1707839259705を開いて修理します

Excel ファイルをロードした後、問題なく Visual Basic コードを実行できるようになります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です