- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelのセルから配列変数への一括読込み)
Excelのセルから配列変数への一括読込み
このQ&Aのポイント
- VB(というかプログラミング)の超初心者です。Excelシートの任意の領域にある数値を、配列変数に一括して入力したいと思っています。
- 現在はForループを使用して、セルから配列への値の読み込みを行っていますが、データ数が増えると処理に時間がかかってしまいます。
- 一括して配列への読み込みを行う方法について教えていただきたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
配列の宣言の仕方がポイントですね。 Sub test() Dim XXX As Variant XXX = Range(Cells(1, 1), Cells(1, 10)).Value Range(Cells(10, 1), Cells(10, 10)).Value = XXX End Sub で試してみてください。 ただ、実際には、 XXX(1),XXX(2)… と値が入るのでなく、 XXX(1,1),XXX(1,2)… と2次元配列になります。 これは、そもそも XXX = Range(Cells(1, 1), Cells(2, 10)).Value とすると、2次元配列に2行10列分の値を取得できるようになっており、上の場合、たまたま範囲が1行だから、ということなのです。 したがって、配列から直接値を取得するときはご注意ください。 XXX(i)でなく、XXX(1,i)と書く必要があります。
お礼
こんなに早く、しかも丁寧な解説付きで教えて頂いて、ありがとうございました。 実際のデータは数百個あって何度も繰返し処理が必要だったので、驚く程処理が早くなりました。 これまで独学でプログラミングの勉強をしてきましたが、ある程度のレベルまでは経験者に教えて頂かないとダメですね。 重ねて御礼申し上げます。