VBAを使って業務効率化&自動化 エクセルファイルを自動で開く&貼り付け&閉じる | セール情報大好き

VBAを使って業務効率化&自動化 エクセルファイルを自動で開く&貼り付け&閉じる

VBAを使って業務効率化&自動化 エクセルファイルを自動で開く&貼り付け&閉じる

どうもこんにちは!オザキ(@s4224945)です。

今回は先日作ったVBAで複数のエクセルファイルを1つのエクセルファイルに張り付けていくのを自動化しました。
自分用のメモとしても張り付けておこうかなと思っているので、ぜひとも参考にしてみてください。

スポンサーリンク

何をしたいか&前提条件

今回は会社などで使えそうなVBAを作ってみましたので紹介します。

よくあるのが、「データを集めてきて~1つにまとめてね~」という作業です。

私がよくやっていたのは

とある場所からCSVかExcelファイルをダウンロードしてくる(targetファイル)
そのファイル(targetファイル)をダウンロードしてきたら、targetファイルを開く
targetファイル内の必要な個所をコピーしてきて、貼り付け先ファイルに張り付ける
貼り付け先は貼るだけではなく、特定の位置に貼り、先に貼ったファイルは一段ずらす
targetファイルは閉じる

という手順のものです。今回自動化するのは2~5の部分です。

VBA1

完成系のイメージは上記のようになります。

前提としては、

・とあるデータのdailyデータを集計したい
・ダウンロードしてきたtargetファイルはtarget_dataというフォルダを作成し、そこにエクセルファイル(csvファイル)として保存しておきます。
・target_dataというフォルダの中に入れておいたデータを開いて、一つずつ貼り付け作業をおこなっていく。
・完成図とtargetファイルをみてもらうとわかる通り、コピーするのは三か所(日付、スマホorPC、データ)

VBA2

・データは一か月ごとに取るので、30個以上は開く必要がある(しかし同時に30個もオープンできなさそうなので、毎回閉じなければいけない。)

・データはtarget_dataのB7:AC7までを貼り付け先ファイルに張り付ける

VBA3 target data

実際に使うコード

改善もできるかも

・VBAのIE制御を使うとさらに自動化できるかもしれない
・VBAじゃなくてもPythonでもできるような気もする
・他にもいろいろと応用できると思います。

まとめ

もっといい書き方もあるのかもしれませんが、現時点で私にできるのはこのくらいかなぁと思います。
こういう風にした方がいいよというアドバイスあったらどしどし教えてください!

悩んでいる方のお悩み解決になると嬉しいです。ぜひとも参考にしてみてくださいね。

スポンサーリンク

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする