Power Automate DesktopでExcelの選択範囲・アクティブセルを変更、変数化する方法

IT

Power Automate DesktopからExcelのセルを選択する場合、「Excelワークシート内のセルを選択」でセルや範囲を選択します。
用途によっては「Excelワークシート内のセルをアクティブ化」のほうが適していることもあるので、まとめて解説します。

スポンサーリンク

Excelワークシート内のセルを選択

PowerAutomateDesktop Excel ワークシート選択1
Excelワークシート内のセルを選択は、Excel→詳細から選択できます。
PowerAutomateDesktop Excel ワークシート選択2
追加するとダイアログが表示されます。

Excelインスタンス

PowerAutomateDesktop Excel ワークシート選択3
PADでExcelを開き、どのファイルを操作するのかを変数で指定する必要があります。

選択

PowerAutomateDesktop Excel ワークシート選択4
絶対位置または相対位置で選択するセルを指定できます。

絶対位置で指定したセル

PowerAutomateDesktop Excel ワークシート選択5
絶対位置の場合、現在いるセルがどこであっても関係なく、指定したセルが選択されます。
先頭列・行・最終列・行を数字で指定するか、
PowerAutomateDesktop Excel ワークシート選択7
または列番号はアルファベットで指定することもできます。
PowerAutomateDesktop Excel ワークシート選択6
上記どちらの場合も結果はA1~C3までのセルが選択されます。
選択したセル範囲のうち、左上のセルがアクティブセルとなります。

相対位置で指定したセル(選択範囲の拡大・縮小)

PowerAutomateDesktop Excel ワークシート選択9
相対位置の場合、アクティブセルを起点に選択範囲を広げます。
PowerAutomateDesktop Excel ワークシート選択10
たとえばさっきのA1~C3を選択したアクション(アクティブセルはA1)の後に、右1、下1を相対位置で指定するアクションを追加すると、
PowerAutomateDesktop Excel ワークシート選択12
アクティブセルA1を基準に、右下のセル=B2までの範囲が範囲選択されます。アクティブセルは移動しません。

まぎらわしいですが、繰り返し命令でひとつずつセルを下に移動しながら書き込み、などの用途には「相対位置で指定」は適しません。
そういった用途には、下で説明するExcelワークシート内のセルをアクティブ化などを使います。

選択した列・行を変数化

PowerAutomateDesktop Excel 変数
右端にxがある列・行は変数で指定することもできます。
その変数はどうやって取得するかというと色々ですが、
PowerAutomateDesktop Excel 変数2
たとえば、今「Excelワークシート内のセルを選択」で選択した列・行を変数化することもできます。
選択セルを変数化するには、Excel→詳細→選択したセル範囲をExcelワークシートから取得を追加します。
PowerAutomateDesktop Excel 変数3
Excelインスタンス(ブック)の中で、選択している範囲の開始列・行、終了列・行が変数化されます。
PowerAutomateDesktop Excel 変数4
使用しないデータは変数化しないこともできます。
PowerAutomateDesktop Excel 変数5
フロー変数で、フローの中で追加された変数一覧を確認することができます。

Excelワークシート内のセルをアクティブ化

pad Excelワークシート内のセルをアクティブ化1
Excel→詳細にあるExcelワークシート内のセルをアクティブ化を使うと、アクティブセルを変更することができます。
PowerAutomateDesktop Excel ワークシート選択6
さっきのA1~C3を選択するアクションの後で、アクティブセルを変更してみましょう。
pad Excelワークシート内のセルをアクティブ化2
指定できるパラメータはセルの選択同様なので、省略します。
pad Excelワークシート内のセルをアクティブ化3
相対位置の場合、指定できる方向は上下左右いずれかとなり、
pad Excelワークシート内のセルをアクティブ化4
指定したセル方向に何セル分進むかを指定します。斜めに進みたければ、アクションを二回入れることになります。

範囲内でアクティブセルを変更

pad Excelワークシート内のセルをアクティブ化7
さきほどの状態から、右に1セルアクティブセルを移動させると、
pad Excelワークシート内のセルをアクティブ化8
範囲内でアクティブセルがひとつ右に移動します。もし移動先が範囲外の場合は選択範囲が解除され、アクティブな単一セルが選択された状態になります。

単セルでアクティブセルを変更(指定方向にひとつずつ移動)

pad Excelワークシート内のセルをアクティブ化5
単一セルからひとつずつアクティブセルを移動させていけば、
pad Excelワークシート内のセルをアクティブ化6
順番に1セルずつ選択していくことが可能です。

アクティブセルを変数化

activate pad excel 1
アクティブセルを変数化するには、Excel→Excelワークシート内のセルをアクティブ化を追加します。
activate pad excel 2
なんでそうなるのか知りませんが、「Excelワークシート内のセルをアクティブ化」は詳細の中とExcel直下に別々にあって、名前は同じですが別の命令です。
activate pad excel3
カーソル合わせるとポップアップが出るので参照するとわかりやすいです。Excel直下にあるほうがアクティブセルを取得して変数にするアクションです。
activate pad excel4
追加するとExcelインスタンスが選択でき、指定したExcelのアクティブセルが取得されインスタンス化されます。

エラー発生時

セルを選択 エラー1
「Excelワークシート内のセルを選択」「選択したセル範囲をExcelワークシートから取得」「Excelワークシート内のセルをアクティブ化」いずれも、左下のエラー発生時からエラー設定が行えます。
セルを選択 エラー2
エラーが起きた時の処理を記述できます。使い方は全部同じなのでエラー発生時の記事参照。「詳細」はこの三つは一種類ずつしかなく、それぞれWebセルが選択できない、範囲が取得できない、セルをアクティブかできない場合のエラー処理が作成できます。
やりたいことから方法を探すエクセル(Excel)操作・関数・VBA(マクロ)逆引きまとめ
逆引き(やりたいことから探す)Excel記事まとめ
Microsoft Power Automate Desktop(PAD)アクション、使い方一覧
Power Automate Desktopの使い方を機能・分類別に参照できるまとめです。

コメント