シートをコピーする

フォローする

「シート挿入」ステップ及び「行ループ」と「列ループ」を組み合わせ、挿入した新規シート(コピー先シート)にコピー元シート全てのセルの値をコピーすることで実現できます。

 

【使用するステップ】

  • 「シート名抽出(Extract Sheet Name)」 ステップ
  • 「シート挿入(Insert Sheet)」 ステップ
  • 「Excel内ループ_行(Loop Rows)」 ステップ
  • 「Excel内ループ_列(Loop Columns)」 ステップ
  • 「イテレーション取得(Get Iteration)」 ステップ
  • 「セル値抽出(Extract)」 ステップ
  • 「セルのコンテンツ設定(Set Content of Cell)」 ステップ

 

【実装例】

◎全体


◎詳細 
※ウィンドウズビュー(WEBページやExcelの中身が表示されている画面)から操作して自動挿入されるステップについてはデフォルトの設定から変更する必要がない場合キャプチャを省略していますのでご了承ください。

①、②:コピー元のExcelファイルをロボット内に読み込みます。

③:コピーしたいコピー元シートのシート名を取得して、変数に格納します。


④:「シート挿入」ステップで新規のシートを挿入し、新規シートのシート名を「シート名 + >>_コピー<<」という名前で指定します。

③で取得したシート名の変数を利用します。
​​

⑤:コピー元シートの全行をループします。範囲名は自動でも良いですが、例では明示的に「row」という名前を付けています。


⑥:「行ループ(⑤のExcel内ループ > 行)」で現在のイテレーション(ループ数)を取得し、後で書き込むセルを動的に指定する際に使用します。


⑦:コピー元シートの全列をループします。範囲名は自動でも良いですが、例では明示的に「Col」という名前を付けています。

ファインダーの設定を「名前付き範囲で検索」に変更し、「範囲」に⑤で設定した範囲名「row」を選択します。

※こちらの設定で、ループが次のイテレーションに進んで選択対象の行が進んだ時、追従して列ループの範囲も次の行に移動されます。

※参考例
・「行ループのイテレーション=1」、「列ループのイテレーション=1」の場合


・「行ループのイテレーション=1」、「列ループのイテレーション=2」の場合


・「行ループのイテレーション=2」、「列ループのイテレーション=1」の場合


⑧:「列ループ(⑦のExcel内ループ > 列)」で現在のイテレーション(ループ数)を取得し、後で書き込むセルを動的に指定する際に使用します。


⑨:コピー元のセル値を取得します。

ファインダーの設定を「名前付き範囲で検索」に変更し、「範囲」に⑦で設定した範囲名「Col」を選択します。

※こちらの設定で、行ループと列ループの各イテレーションが進みながら、抽出セル位置を動的に指定することができます。
​​

⑩:新規に挿入したコピー先シートに、⑨で取得した値を入力します。
入力位置は⑥と⑧で取得した各ループのイテレーション及び「toColumn()関数(数字を列に変換する関数 例:1→A、2→B・・・)」を用いて動的に指定します。


⑪:ファイルを出力します。

【注意点】

この方法では、シート内の全セルの値を新しいシートに貼りつけることでシートのコピーを実現しておりますが、セル値のコピーの際に対象セルの書式設定はコピーできません。
書式設定のコピーが必要な場合は、VBSを用いてコマンドラインで実行する方法又はDA機能を利用する必要があります。
Excelのシートをコピーする方法(コマンドライン実行)
※上記リンクにアクセスできない場合は、お使いの製品ページ > 「ケース別サンプルロボット」 > 「Excelのシートをコピーする方法」と検索してください。

 

 

【関連情報】


※この記事は2020年10月5日にver10.4.0.2で作成したものです。
※本記事は初心者の方に分かりやすくご説明することを目的としております。
そのため、意図的に厳密な表現を避けている場合がございますのでご了承ください。

コメント

0件のコメント

記事コメントは受け付けていません。