今回は複数のExcelブックの納品一覧表から、別のExcelブックの請求書に自動で転記する方法をご紹介します。
納品数が多く1枚の請求書では書ききれない場合に、自動で2枚目の請求書に転記していきます。
別の記事に掲載している「複数のファイルをPower Automate Desktopに取り込む方法」と「複数のExcelブックからExcel転記」に修正と追加を加えてフローを作成します。
今回はExcelブック1つでも転記できるように修正し、1枚の請求書に書ききれない場合は2枚目の請求書に転記します。
転記が終わった請求書に、現在の日時をファイル名に追加し、自動で保存するフローを追加します。
1.使用するExcelブック
例として、商品区分ごとにExcelブックを用意し、注文が入った場合に商品名のワークシートに数量や金額を入力します。
入力された納品一覧表の商品ごとの合計額を請求書に転記していきます。
今回は納品一覧表のExcelブック3ファイルと請求書を使用します。
○納品一覧表
○請求書
2.フローの完成形
フローの完成形
3.修正(複数のファイルをPower Automate Desktopに取り込む方法)
今回はExcelブック1つでも転記できるように修正し、1枚の請求書に書ききれない場合は2枚目の請求書に転記します。
1.カスタムフォームを表示(フロー番号1)
今回はExcelブック1つでも転記できるように、カスタムフォームのSecondFileを削除します。
2.IfのEnd
フロー番号3のIfのEndを一番下まで移動させます。
フローを最後まで完成させたら、フローの一番下に移動させます。
3.項目をリストに追加を削除
カスタムフォームでSecondFileを削除したので、項目リストに追加のSecondFileも削除します。
4.修正(複数のExcelブックからExcel転記)
1.Excelの起動(フロー番号15)
「Excelの起動」で開くExcelブックを請求書に変更します。
2.変数の設定(フロー番号19)
請求書のセルB47から書き込みを開始し、次の「行」(B48)に自動で移動するように変数を47のセル番号に設定します。
1.アクションの「変数」から「変数の設定」をワークスペースにドラッグ&ドロップします。
3.If(フロー番号26)
請求書に転記する際、1枚目に書ききれない場合に請求書2枚目に自動でセルを移動させる処理を行います。
Ifのアクションを追加して、1枚目の請求書に書き込みます。
1.アクションの「条件」から「If」をワークスペースにドラッグ&ドロップします。
NewVarがLoopで増加し、25以下の場合に書き込みを行います。
4.Else if(フロー番号29)
Else ifのアクションを追加して、2枚目の請求書に書き込みます。
1.アクションの「条件」から「Else if」をワークスペースにドラッグ&ドロップします。
NewVarがLoopで増加し、25より大きい場合に書き込みを行います。
1行ずつ書き込みが始まり、セルB13からB25に移動していき、NewVarの数が25より大きくなった場合に、次の請求書のセルB47に移動するようにします。
4-1.Excelワークシートに書き込む(フロー番号30)
請求書2枚目に書き込みを行います。
1.アクションの「Excel」から「Excelワークシートに書き込む」をワークスペースにドラッグ&ドロップします。
Excelインスタンス:%Excel%
フロー番号15「Excelの起動」で設定した変数Excelを入力します。
書き込む値:%ExcelData.ColumnHeadersRow%
行単位で転記するために、ExcelData.ColumnHeadersRowを使用します。
ColumnHeadersRowには、行単位のデータが格納されています。
書き込みモード:指定したセル上
列:B
行:%NewVar2%
フロー番号17の「変数の設定」で設定した変数を使用します。
4-2.変数を大きくする(フロー番号31)
上記の「Excelワークシートに書き込む」で設定した行:%NewVar2%に「変数を大きくする」でLoopする都度NewVar2に+1していき、行番号を増やしていきます。
行番号を増やすことで、次の「行」(B48)に自動で移動するように設定します。
1.アクションの「変数」から「変数を大きくする」をワークスペースにドラッグ&ドロップします。
変数名:%NewVar2%
大きくする数値:1
5.追加
1.現在の日時を取得
後でExcelブックを保存する時に、ファイル名に現在の日時を設定したいので、「現在の日時を取得」のアクションを設置します。
1.アクションの「日時」から「現在の日時を取得」をワークスペースにドラッグ&ドロップします。
2.Excelを閉じて請求書を保存する
請求書を自動で保存したい場合は「Excelを閉じる」で保存するか「Excelの保存」のアクションをフローに追加します。
今回はExcelを閉じるで請求書を保存します。
1.アクションの「Excel」から「Excelを閉じる」をワークスペースにドラッグ&ドロップします。
ファイル名に日付と時刻を追加したいので、「現在の日時を取得」で取得した日時を使います。
ファイル名の内訳
%CurrentDateTime.Year%年%CurrentDateTime.Month%月%CurrentDateTime.Day%日%CurrentDateTime.Hour%時%CurrentDateTime.Minute%分%CurrentDateTime.second%秒.xlsx
以上で複数のExcelブックから複数の様式にExcel転記をご紹介しました。