DX事例
2024.06.24
PowerAutomate for DesktopによるExcelシート分割作業の効率化
こんにちは。編集部員の”まんでがんうどん”です。
今回はPowerAutomate for Desktop(以下、PAD)を活用したExcel作業の効率化ツールをご紹介いたします。みなさまも日常的にExcelを使用しているかと思いますが、データのコピペ作業などはとても面倒です。。。
ExcelのVBAマクロ機能を利用すれば自動化できますが、VBAマクロのプログラミングのハードルが高いと感じる方もいらっしゃるのでは?そこで、今回はExcel作業のうち「特定項目」をキーとしたシート分割作業をPADで実行するツールをご紹介いたします。
この方法は、ExcelのVBAマクロ機能を利用しないため簡単にシート分割を行うことができます。
■機能概要
当ツールは、Excel内の処理対象シートを選定し、A列に設定されている情報毎に各シートを同一ファイル内に作成~振分するツールです。例えば、店舗名をキーとした売上一覧を店舗単位にシートを分割して売上一覧を自動で作成することができます。
【前提条件】
当ツールは処理対象シートの1行目に見出し行が設定され、かつA列に分割対象にキー情報が設定されていることを前提に作成しています。
■操作方法と設定内容
操作方法およびPAD設定内容を合わせてご紹介いたします。
(1)シート分割対象ファイルの選択
まず、シート分割を実行したいファイルを「ファイル選択画面」から指定します。PADの設定は「メッセージボックス>ファイルの選択ダイアログを表示」を使用します。今回は「初期フォルダ」や「ファイルフィルター」は初期値のままにしていますが、特定のフォルダ等を設定することで選択したいファイルを素早くセットすることが可能となります。
(2)処理対象シートの選択
つぎに、選択したファイルから分割したいシートを「プルダウンリスト」から指定します。「OK」を押下することで処理を開始します。(処理内容は(3)参照)
PADの設定は、まず選択用リストを作成するために、「Excel>詳細>すべてのExcelワークシートの取得」を使用して、Excelファイル内のシート名のリストを取得するアクションを作成します。そして後続処理に「メッセージボックス>リストから選択ダイアログを表示」をセットし、選択元のリストに「すべてのExcelワークシートの取得」で生成された変数を設定します。これで、分割したいシートを「プルダウンリスト」から指定することが可能となります。
(3)処理実行~結果確認
分割したいシートを特定しましたので、続いては分割処理を実行します。処理フローは下図の通りです。
①分割対象シートから見出し行を抽出します。
②分割対象シートのキー情報(A列)と同じシート名が存在しないか検索します。
③同じシート名が存在しない場合は、新規でシートを作成し①で抽出した見出し行を1行目に設定します。その後、分割対象シートのデータを追加します。
④同じシート名が存在する場合は、最終行に分割対象シートのデータを追加します。
⑤上記②~④を繰り返し処理を実行します。
⑥全ての処理を完了後、「処理完了メッセージ」を表示します。
当フローの機能概要および設定内容は以上となります。
■作成済みフローのコピー方法
PADの有償版の場合、作成済みフローはグループ間で共有することが可能ですが、無償版でも作成済みフローをコピーして作成者本人以外の方も利用することが可能です。フローのコピー手順は以下の通りです。
<フローコピー手順>
(1)コピー元のPADのフローを開きます。
(2)PAD内の全アクションをコピーします。
フロー画面上から「Ctrl+A」で全選択し、「Ctrl+C」でコピーします。
テキストファイルを開いて「Ctrl+V」で貼り付けします。
テキストファイルは任意の名前を付けて保存します。
(3)コピー先として、PADに新しいフローを作成します。
フロー名を命名し、空のフロー画面を開きます。
(4)空のフロー画面上に(2)で作成したテキストファイルの内容をコピー&ペーストします。
ペースト後は自動的にプログラム言語⇒PADフローへ変換されます。
これでコピーが完了し、フローが利用可能となります。
■PowerAutomateの有効活用
今回はPADを活用したExcel作業の効率化ツールと無償版でのフロー共有方法をご紹介いたしました。
ExcelにはVBAマクロ機能があり、VBAマクロの実行でExcel作業が自動化できますが、一方でVABマクロを実行してしまうことで、マクロ機能を悪用したマルウェアに感染する危険性もあります。また、他のExcelファイルに対して自動化するためには、VABマクロを各ファイル内に実装する必要があります。
代替方法としてVABマクロ⇒Pythonなどのプログラム言語へ移行する動きも見られますが、PAD活用の一例としてご紹介させていただきました。
ご希望の方には、今回ご紹介したフロー(設定ファイル)をご提供いたしますので、是非PADをお試しいただき、日々お忙しいみなさまの一助になれば幸いです。
(編集者・まんでがんうどん)
【関連記事】
⇒PowerAutomate for DesktopによるActive Directory登録作業の効率化【情報システム部門向け】
⇒PowerAutomate for Desktopによる複数フォルダ圧縮作業の一括処理
⇒PowerAutomate for DesktopによるPDF分割ツールの作成
⇒PowerAutomate for DesktopによるPDF結合ツールの作成
お問合せ先
事例やコラムに関するご照会、案件に関するご相談やお見積は以下のフォームからお問合せください。