異動により、毎日23時頃まで残業という生活を変えるため、ExcelVBAを勉強。実戦投入し、定時帰りを実現。その後プログラムに興味を持ちPythonの勉強を始める。イベント事は昔から嫌い。よみぞうは静かに暮らしたいのだ。前回までで、ExcelVBAで出来るすごいことの一つ、「他のエクセルファイルを開いて中身を参照する」方法を紹介しました。今回はファイルを開いて転記する際に複数の行、列を一気に転記する方法を紹介するよ。ここはVBAの学習で激アツなポイントの一つです。ExcelVBAの激アツな部分コードを見ていこう!繰り返しの動きを確認しよう!おさらいはい、前回はこの「OpenClose3」で、他のエクセルファイルを開いて、A1セルだけ。このエクセルファイルに転記するまでを紹介しました。一応前回のおさらいをさらっと。(1行目)文字列を入れる変数booknameを宣言して(2行目)これは、画面更新の停止。これを書いておくと処理が早くなるんでしたよね。(3行目)元データフォルダに入っているdata.xlsxというエクセルファイル名をbooknameに代入。(4行目)data.xlsxを開く(5行目)data.xlsxのシート1のA1セルの値をこのエクセルファイルのA1セルに入力(6行目)data.xlsxを保存しないで閉じるでした。今回はこのForNext1を見ていきます。変数の宣言のところに、新しい変数が宣言されているところ、と開く処理と閉じる処理の間の転記処理の部分が違います。(F5で実行)↓はい、data.xlsxの表全体がこのエクセルファイルに転記されました。コードを見ていこう!さっき言ったとおり、変数の宣言に新しくiが宣言されています。Asの後を見るとLongと書いているので、これは、整数専用の変数だと分かります。iには整数しか入りません。ここを確認してください。間にインデントが入っています。基本編で紹介したとおり、一つの塊だとわかりやすくするためにインデントを入力しています。これはForNext構文という繰り返し処理の塊です。Forの後ろを見て下さい。これは、変数iに1~11までの整数を順番に代入する。繰り返す度にiの値を1~11まで変更して全部で11回繰り返すことになります。ここわかりにくいかもしれないので、1行ずつ実行しながら見ていきます。繰り返しの動きを確認しよう!転記処理のところが見たいので、既に黄色い行の手前まで実行した状態からスタートします。この黄色い行が次に実行する行です。1巡目の時はiには1が代入されています。変数iを1と読み替えてコードを見てみましょう。開いたファイルの1行目の1列目のセルをこのエクセルファイルのシート1の1行目の1列目に代入する。F8で1行ずつ実行してみます。(F8で実行)data.xlsxの1行目の1列目のセルが、このファイルの1行目の1列目に代入されました。同じように1行目の2列目のセルを1行目の2列目へ、(f8実行)このファイルの1行目の2列目のセルが、このファイルの1行目の2列目に代入されました。この調子で実行していきます。(f8でfornextの最終行まで実行)で、ここまで来たら、次にどこが実行されるか。