最初に私のプログラミングレベルですが、ネットでやりたい処理を調べて、必要な処理の部分だけをコピペして、積み上げて何とか形にするレベルなので、初心者に毛が生えたレベルです。
なので、難しいこと何も分からないので、初心者の目線でAI使って、プログラムが完成するまでの道のりをつらつらと書いて行こうと思います。
ネットで調べると完成形しか無いので、逆に途中何が起こってどう対処したのかを分かるように書いていきますので、考え方とか対処法の参考になれば。
Let’s Start!
さて自動化させたい作業ですが、毎月2つのデータを、1つのExcelファイルにまとめて、お客様に送付しているので、データ作成部分を自動化させちゃいましょう。
ってな訳で、用意されたデータと完成形は以下です。
データA(CSV)
氏名,端末名
Aさん,Desktop-XXXXX
Bさん,Laptop-XXXXX
———
データB(CSV)
氏名,メールアドレス
Aさん,usera@hogehoge.jp
Bさん,userb@hogehoge.jp
———
完成形(Excel形式)
普段手作業で行なう場合、以下手順で実施しています。
①新規でExcelブックを起動して、Sheet1にデータAを貼り付け
②Sheet2にデータBを貼り付け
③Sheet1のC列にメールアドレスの列を追加し、vlookup関数を使ってAさんと一致するアドレスを入力
④完成したExcelブックに、ファイル名の頭に年月を付けて保存
上記①~④を自動化させちゃおうって話です。
ExcelのSheet1にデータAを取込開始!
準備として、↓の2つが無いと始まらないので準備して下さい。
・Excelのマクロエディタ起動(altキー+F11キー)して、挿入 >標準モジュールをクリック。
・Googleのアプリ一覧から、Geminiを起動
プログラム作成の準備が出来たところで、①から順にやっていきましょう。
次にGeminiに、「ExcelにCSVファイルを取り込むコードを教えて」と何のひねりも無く聞いてみましょう。
そうすると1秒ほど待つと、何パターンかプログラムを作成してくれます。
しかも、それぞれの方法の注意点等の解説付きで、これは非常に助かる。
とりあえずやりたいことが出来れば、正直何でも良いので、一番見た目が綺麗なコードをコピーして、先ほど作成したExcelの標準モジュールに貼り付け!
貼り付けた後は、F8キーを押して1行ずつデバッグして、ちゃんと動くかチェック!
そして出来上がったのが、こちら!
なんか文字化けしてる・・・
ちゃんと「,(カンマ)」区切りで取り込まれているのはOKなので、文字化けに対する対処をして行きます。
文字化けの原因は、エクスポートされたデータの文字コードがUTF-8で、Excelが使う文字コードが違うことが原因なので、元データの文字コードを変更してあげます。
データAのファイルをメモ帳アプリで開いて、ファイル >名前を付けて保存 から画面の部分で文字コードをANSIに変更して、上書き保存もしくは、別名で保存します。
そしたら、またF8キーをポチポチ押しながら最後まで実行して結果を見てみるとー
文字化けせずにちゃんと取り込めた!
ExcelのSheet2にデータBを取込開始!
同じことをデータBでやれば良いので、データBの文字コードを予め変更しておいて、もう1つ新しく標準モジュールを作成して、同じコードを貼り付けてF8キーポチポチ。
そして出来上がったのがこちら。
違うそうじゃない・・・
まぁこうなるのは当然で、先ほど貼り付けたコード内で、取込先のシート名に「Sheet1」と指定されちゃってるので、そりゃ同じシートに追加されますよね・・・
なので、コード内で「Sheet1」となっている部分を「Sheet2」に変更。
もう1回F8キーぽちぽち・・・
新たなエラーが・・・
デバッグのボタンを押すと、編集した「Sheet2」のある行で問題が起きている模様。
Excelブックを見ると、「Sheet2」が無い!
そりゃエラーになるよねってことで、また教えてGeminiさん!
「Sheet2を新しく作って、CSVファイルを取り込むコードを教えて」と聞いてみると、またすぐに回答が。
ほぉほぉ、まぁよく分からんけど回答だけ欲しいので、コードをコピペして実行!
ちゃんと「Sheet2」が出来て取り込めた!
これで①~④の工程の内の②まで完了。
次回③~④の処理へ続く。