- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBAのマクロについて)
Excel VBAマクロの範囲指定にエラーが発生する問題について
このQ&Aのポイント
- Excel VBAのマクロを使用して、特定の範囲を指定する際にエラーが発生する問題が発生しています。範囲を指定するセルの値に応じてシートを作成し、データを複数のセルにコピーする処理でエラーが発生しています。
- 範囲を指定するセルの値をP4とP6としていますが、P4とP6の値を変更するとエラーが発生します。単一のシートを作成する場合には正常に動作しますが、範囲を増やすとエラーが発生します。
- エラーの原因は、マクロ内の処理で範囲を指定する際に、存在しないセルを参照していることです。エラーを解消するためには、範囲を指定するセルの値を適切に設定する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まずはどんなエラーがどの行で出るかを示しましょう。 ただ、エラーが出ます。見てください。では、回答する側の労力がすごく高くなります。 ある程度エラーを絞って提示してみてください。 そうすると、回答が付くと思いますよ。
その他の回答 (1)
- oboroxx
- ベストアンサー率40% (317/792)
回答No.2
当たっているかわかりませんが、 For hani = Range("P4").Value To Range("P6").Value Set I = ActiveSheet … Next hani となっていますが、ActiveSheetは、コピーされたシートに変わってしまって、2回目以降のhaniの値がコピーされたシートからCellsなどの値を取得でいいのでしょうか。 もしそれでダメなら、 Set I = ActiveSheet For hani = Range("P4").Value To Range("P6").Value I.Activate … Next hani これで行けそうな気がします。
補足
oboroxx 様 仰る通りですね、もうしわけありません。 現在以下のような状態です。 例えばP4に1、P5に1のように1つのみのマクロを実行した場合は、正常に作動します。 正常に機能しない場合の2つのうち1つ目は、P4に1、P5に2のように、 二つのマクロを実行しようとしたとき1つ目のは正常に作れていて、2つ目は基本シートのコピーで何も入力されていない状態で、名前だけが()となっていました。 正常に機能しないパターンの二つ目は、P4に1、P5に5のように、3つ以上のマクロを実行しようとしたときです。この場合だと、先ほどの例と同じように、1つ目のは正常に作れていて、2つ目は基本シートのコピーで何も入力されていない状態で(本当はSheet1の指定したセルから転記されているはずなのですが)、名前だけが()となり、3つ目のシートが”基本シート(2)という形で出来ているのですが、「()が存在します」というメッセージが出た後、Okを押すと基本シート(2)が消え、1つ目の正常に作れたものと、2つ目の()のファイルだけになりました。