前回までのあらすじ
Geminiさんを利用して、2つのCSVデータをExcelマクロを使って別々のSheetに取込が出来た。
マクロでvlookupの実行
では、早速続きですが今回の目標は、提出するファイルの完成までやっていきます。
現在の状況としては、以下の状況です。
Sheet1
Sheet2
Sheet1のC列にメールアドレスを入力していきますが、手動でvlookup関数を使っていた部分をマクロで実行するようにします。
またまたGeminiさんに、「2つのシートにまたがるデータを行が無くなるまでvlookupするコードを教えて」と聞いてみると、また1秒後には回答が!
今度はだいぶ力作っぽいのが出てきましたが、細かい注意点とかはどうでも良いので、またコードを新しく作成した標準モジュールにコピペ。
コピペした際に、コード内にSheet3の記述が入っているので、存在しないSheetへの処理はエラーとなるので、予め以下2つの行を削除
Set tableSheet2 = ThisWorkbook.Sheets(“Sheet3”)
で、いつものようにF8キーをポチポチ…
B1セルに、今まで「端末名」って入ってたのに、「メールアドレス」に変わってしまった・・・何故?Why?
改めてコードを確認してみると、以下コードの部分で(i,2)となっていて、「i」は行数、「2」は列の数字(=B列)を示していたので、2から3へ変更して再度F8キーをポチポチ…
resultSheet.Cells(i, 2).Value = “該当なし”
Else
resultSheet.Cells(i, 2).Value = result
End If
今度は良い感じに出来上がりました。
ここまでくれば後一歩!
作れたデータを別のBookに年日を付けたファイル名で保存するのみ。
頼むぜGeminiさん!
報告用に別Bookでファイル出力!
最後の質問だ。「sheetを別のBookに保存して、ファイル名に年日を付けるコードを教えて」
これも新しい標準モジュールにコピーして、F8キーポチポチ…
何やらエラーが・・・
ふむ、ファイル名またはパスが存在しないだと?
あー、たぶんこれ作成中のマクロ付きExcelと同じフォルダに、新しくBookを作ろうとして、エラーになってるっぽいなとアタリを付けて、一旦保存。
再度開いて、マクロエディタでF8キーをポチポチ…
今度はうまく動いた!
これでやりたいことは全部出来たので、後は毎回全ての処理に対して、F8キーを連打するもの面倒なので、「メニュー」のシートを作成して、ボタン押せば実行できるように体裁整えれば良いよね!
体裁整え編
ってことで、サクッとメニューと言う名前の新しいSheetを作って~
ボタンの挿入をして~
作成したマクロを登録~
して、出来上がったのがこちら
ボタンで動くかチェック!
なんでや・・・
クエリテーブルがどうとか言われも、分かりませんがな・・・
なので、取り込む際に毎回新しいSheet1を作り直せば良いよねってことで、またGeminiさんに協力依頼。
Subから始まる行と、End Subの行は要らないので、それ以外の行をまるっとコピーして、一番最初に作成した標準モジュールの最初の方にコピー。
そして、Sheet名の定義で「”」が抜けていたので、ちょっと手直し。
再度、ボタンを押してエラー無く完了!
他のボタンもポチっと順番に押して行って、無事レポート用のファイルが出来上がりました。
最後に
プログラムの「いろは」を知らなくても、小難しい参考書とか読まなくても、やりたいことをGeminiに聞いて、切り貼りするだけで、こんなことが出来ちゃいます。
やりたいことを明確にして、Geminiに聞く部分に少しコツが必要ですが、日々の単純作業を自動化して早く帰宅出来るようにしてみてはいかがでしょうか?
まぁ、実際は仕事が早くなった分、次の仕事が降って来るんですけどね┐(´∀`)┌ヤレヤレ