こんにちは!
来年3月まで毎月プラモデルが届く予定のSRIAの模型廃人、ドイです。
先日に引き続きpower automate desktopのお話です。
なお、本記事エンジニア向けではないですので技術者向けの用語をできるだけ使わないようにしています。
今回はエクセル転記の話ですね。
先日講師を務めた際にやはり需要があるのはエクセルからエクセルへの転記。というのが多いように思えました。
エクセルファイル1の中から、特定の情報がある行だけをエクセルファイル2にデータを転記するという話です。
まずエクセルファイル1はこちら。この項目7の済が付いてる内容だけを転記していきます。
今回は同じフォーマットの空データをエクセルファイル2として用意しています。
最初に完成したフローを見て頂きます。
今回は3-9の工程番号だけ説明させて頂きます。
工程:3
ここでは変数を一つ設定しました。
転記先のエクセルシートの行を管理します。
工程:4
ループを下記に設定します。
開始:2 (読み取り先の開始行を設定)
終了:10 (何行目までのセルを読むか設定、読み取り先のデータに応じて変更)
増分:1 (1行づつ読むので1で設定。)
工程:5
読み取り先で「済」のデータがある列を取得します。
7列が「済」が含まれる可能性がある列ですね。
変数:ExcelDataにはエクセル上で済が入っていれば「済」というデータがここに入ります。
空欄の場合はExcelDataは空っぽになります。
工程:6
ここでExcelDataに「済」は入っていますか?という問いかけをしています。
済が入っている場合のみ工程7に進みます。
入ってない場合は工程10に進みこの行の処理は終了します。
工程:7
ここからは済が入っている場合のみ処理されます。
エクセルのシートを一セルづつコピるのは面倒ですよね。
なので範囲指定してコピー&ペーストしたいと思います。セル範囲なので四角でいう所の四隅の座標となるセルを記載します。
取得:セル範囲の値
先頭列:読み取りを開始する列を指定します。
先頭行:Loopindexは現在の済の存在している行を意味しています。
最終列:今回は済の前までのデータをコピーしたいので6に設定してみました。
最終行:今回は1行のみコピーしたいので先頭行と同じLoopindexを指定します。
もし2行コピーしたい場合は%Loopindex + 1%と指定することで複数行のコピーも可能です。
このコピーした情報はExcelData2に保存されます。
工程:8
ようやく登場する貼り付け先の情報ですね。
エクセルインスタンスを転記先のものを指定するのを忘れないでください。
エクセル操作では範囲指定してコピーしたものは範囲指定して貼り付けせず
貼り付け先の先頭を指定しますのでここでは範囲指定しません。
行については、工程:3で設定した変数を指定します。
工程:9
転記が完了したので次の貼り付け先の行をここで繰り上げしておきます。
エクセル転記の作法としてはオーソドックスな書き方になるかと思いますので
ぜひお試しくださいませ。