「Power Automate Desktop」の基本的な使い方をエクセルの自動操作の例を通してご紹介します。
マクロを使わなくてもエクセルを自動化をすることができる一例となっていますので、業務の効率化などに使えそうな設定などがございましたら是非ともご活用ください。
フローの作成例
こちらが今回ご紹介する内容です。
複数のワークブックをひとつのワークブックにまとめるための自動化の例です。
具体的には、3つのエクセルファイルをひとつのエクセルファイルに統合します。
フォルダー「一覧まとめ」に保存されている3つのエクセルファイルが統合の対象です。
こちらが統合される側のエクセルファイルです。
・ファイル「ワークブック1.xlsx」
・ファイル「ワークブック2.xlsx」
・ファイル「ワークブック3.xlsx」
こちらの3つのエクセルファイルを、フォルダー「まとめ」にあるエクセルファイル「ワークブック‗すべて.xlsx」に統合します。
こちらが実行結果です。
それぞれのエクセルファイルの内容がひとつに統合されていることが確認できます。
なお、今回ご紹介するエクセルファイルは、列名・列数がすべて同じであることを前提に作成しています。
具体的な作成手順
以下、具体的な手順をご説明します。
手順1|Excel の起動
まずは統合先のエクセルファイル「ワークブック‗すべて.xlsx」を起動します。
のちに設定する変数と区別しやすいように、変数名を「ExcelInstance_all」としています。
手順2|フォルダー内のファイルを取得
フォルダー内のファイル情報を取得します。
こちらのフォルダーを指定しています。
取得される値はこちらです。
手順3|For each
手順2で取得した変数「Files」をアクション「For each」をつかって繰り返し処理の対象とします。
今回の例では、変数「Files」に含まれているように「3つの値」を取得しますので「3回」の繰り返し処理がおこなわれます。
手順4|Excel ワークシートから列における最初の空の行を取得
統合先のエクセルファイル「ワークブック‗すべて.xlsx」の情報を取得します。
それぞれの読み取り対象のエクセルファイルから取得した値を、最下行に書き込むための設定です。
このアクションを「For each」による繰り返し処理のなかに入れておくことによって、書き込みの都度、統合先のエクセルファイル「 ワークブック‗すべて.xlsx 」の最下行を取得することができます。
手順5|Excel の起動
読み取り対象となるエクセルファイルを開きます。
こちらのアクションも「For each」による繰り返し処理のなかに入れておくことによって、フォルダー内に複数のファイルがある場合でも、ファイル数に応じてエクセルファイルを起動することができます。
手順6|Excel ワークシートから列における最初の空の行を取得
読み取り対象となるエクセルファイルの最下行の情報を取得します。
これによって読み取り対象ファイルの行数に応じた情報を取得することができます。
なお、今回の例では「4行目」までデータが入力されていますので、「5」が取得されます。
手順7|Excel ワークシートから読み取り
読み取り対象のエクセルファイルからデータを取得します。
取得するセルの範囲に応じて値を指定します。
パラメーターの選択「最終行」で、手順6で取得した変数「FirstFreeRowOnColumn」を指定することによって、データ行数に応じた範囲を取得することができます。
手順8|Excel ワークシートに書き込み
統合先のエクセルファイル「ワークブック_すべて.xlsx」に取得データを書き込みます。
書き込みを指定するさい、手順4で取得した変数「FirstFreeRowOnColumn_all」をつかいます。
この変数を使うことによって、常に最下行にデータを書き込むことができます。
手順9|Excel を閉じる
読み取り対象のエクセルファイルを閉じます。
まとめ
「Power Automate Desktop」をつかえば、マクロを組まずにエクセルの自動化をすることができました。
今回ご紹介した例をそのまま使うことは難しいかと思いますので、お持ちのファイルにあわせてカスタムしてご活用いただけますと幸いです。
こちらに「Power Automate Desktop」でできることや基本的な操作方法をまとめていますので、よろしければ一度ご覧ください。