• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:★部分でインデックスが有効範囲にありません。とでます。)

エクセルVBAで集計用依頼情報をコピーする際にエラーが発生する

このQ&Aのポイント
  • 部分でインデックスが有効範囲にありません。集計依頼情報(2)から集計用依頼情報にコピーする際に発生しています。エクセルVBAを使用しています。
  • 質問文章には、集計依頼情報(2)をコピーして集計用依頼情報に貼り付ける際に、インデックスが有効な範囲外であるため、エラーが発生しています。これは、エクセルVBAで行われています。
  • 集計依頼情報(2)から集計用依頼情報へのコピー時に、セルの範囲が正しく指定されていないため、エラーが発生しています。このエラーはエクセルVBAで発生しています。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

ANo.1です。 > とったとしても貼り付けの時点で > 同じエラーがでて止まってしまいます またまたソースを見ただけでの回答ですが、Pasteはアクティブなシートやセルにしかできません(Rangeに対してはNG)。 以下のようにセルをセレクトするとどうでしょう? ThisWorkbook.Worksheets("集計用依頼情報").Activate ThisWorkbook.Worksheets("集計用依頼情報").Range("A" & lngRow + 1 & ":CW" & lngRow + lngKns).Paste ActiveSheet.Paste ↓ Worksheets("集計用依頼情報").Activate Worksheets("集計用依頼情報").Range("A" & lngRow + 1 & ":CW" & lngRow + lngKns).Select ActiveSheet.Paste あるいは、コピー&ペーストではなく、セルに値を直接入れるとか……。 Worksheets("集計用依頼情報").Range("A" & lngRow + 1 & _ ":CW" & lngRow + lngKns).Value = Worksheets("集計用依頼情報(2)").Range("A2:CW" & 1 + lngKns).Value

maki06
質問者

お礼

mt2008さん 返信ありがとうございます。 検証してみた結果データ数がエクセルの許容範囲を 超えていました。 データを削除すればいけました! ありがとうございました!

maki06
質問者

補足

Worksheets("集計用依頼情報").Activate Worksheets("集計用依頼情報").Range("A" & lngRow + 1 & ":CW" & lngRow + lngKns).Select ActiveSheet.Paste 返信ありがとうございます。 この通りに修正してみたんですが、やはり同じエラーが発生して しまいます。 >Pasteはアクティブなシートやセルにしかできません(Rangeに対してはNG)。 知りませんでした。  ありがとうございます。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

エクセルでは、ブックやシートはコレクションといい、集団で扱うことになっており、 (1)名前で特定 (2)インデックス番号で指定 (3)ActiveXX、XXNextなど、ForEachなど の、主に(1)(2)の2つが出来る。 そういう中で「インデックスが有効範囲にありません」は、指定されたブックやシートが存在しないときに指摘が出るもの。 (1)プログラムでのインデクス指定数が、不適当プログラムでエラーで暴走した(実情の存在数を超えた)や (2)その名前の物が見つからないが ほとんど。 (1)は、ほとんどこのやり方は使わないだろうし、(2)も存在しない名前をコーダーは書くつもりは無いとおもう。しかし半角全角を取り違えていたり、スペースの有無、名前のタイプミスをしていたり、シートが意に反して抹消済みだったりは起こりえる。 名前のスペルを見直したら。

maki06
質問者

お礼

imogasiさん 返信ありがとうございます。 参考になりました!

すると、全ての回答が全文表示されます。
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

自ブックに"集計用依頼情報"と言うシートがありますか? コードを見て想像する限りでは、自ブックにそんなシートは無く、直前でOPENしている 集計用依頼情報.csv にペーストしたいんじゃないんですか? で、あればThisWorkbookを取ってしまえば? 次のペーストしている行も同様です。 最後のActiveSheet.Paste も余計な気がします……。

maki06
質問者

補足

返信ありがとうございます。 実はこのエラーがでるのでThisWorkbookをつけてみた次第 で当初はついていませんでした。 確かにこれだと自ブックに貼り付けたいとうことになりますよね。。 とったとしても貼り付けの時点で 同じエラーがでて止まってしまいます。

すると、全ての回答が全文表示されます。

関連するQ&A