同じスコープ内で宣言が重複しています

指定された名前は、この範囲レベルで既に使用されています。 たとえば、2 つの変数が異なるプロシージャで定義されている場合は、その変数に同じ名前を指定できますが、2 つの変数が同じプロシージャで定義されている場合は、その変数に同じ名前を指定することはできません。 このエラーの原因と解決策を次に示します。

  • 新しい変数またはプロシージャに、既存の変数またはプロシージャと同じ名前が指定されています。 例:

      Sub MySub() 
      Dim A As Integer 
      Dim A As Variant 
      . . .        ' Other declarations or procedure code here. 
      End Sub
    

    現在のプロシージャ、モジュール、またはプロジェクトを確認し、重複している宣言を削除します。

  • Const ステートメントが、既存の変数またはプロシージャと同じ名前を使用しています。 該当する定数を削除するか、その名前を変更します。

  • 固定の配列を 1 回以上宣言しました。

    配列の 1 つを削除するか、その名前を変更します。

重複する名前を検索します。 検索する名前を指定するときは、名前が同じであり 、型宣言文字 が異なる場合に競合が発生するため、型宣言文字を省略します。

モジュール レベルの変数は、プロシージャで宣言された変数と同じ名前を持つことができますが、プロシージャ内でモジュール レベルの変数を参照する場合は、モジュール名で修飾する必要があります。 モジュール名と 参照先プロジェクト の名前は、プロシージャ内の変数名として再利用でき、修飾することもできます。

詳細については、該当する項目を選択し、F1 キー (Windows の場合) または HELP (Macintosh の場合) を押してください。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。