「Excel 内ループ(Loop in Excel)」ステップと「セルタイプ判定(Test Cell Type)」ステップを使用することで、ループ範囲内の空白セルを選択することができます。
【使用するステップ】
- 「Excel 内ループ(Loop in Excel)」ステップ
- 「セルタイプ判定(Test Cell Type)」ステップ
【実装例】
「行ループ(Loop Rows)」によりA列のセルを順に取得し、空白であるか判定しています。
- Excelファイルを開き、空白セルかどうかを確認したい範囲のループを挿入します。
(画像では、A列の値を上から順に確認するため、行ループを作成しています。)
Excelファイルを開くステップ及び、ループステップについては以下ナレッジをご参照ください。
・保存してあるExcelファイルを開く(書き込み可能)
・「Excel 内ループ(Loop in Excel)」ステップ
- 「Excel 内ループ(Loop in Excel)」ステップのイテレーションで選択された範囲を右クリックし、
「テスト > セルは空白です」を選択します。
- 「セルタイプ判定(Test Cell Type)」ステップの「アクション」タブを以下の通り設定します。
・If:条件が満たされていません
・Do:[エラー処理]時に指定されたとおり
「エラー処理」タブを以下の通り設定します。
・Then:次のイテレーション
上記の設定により、「セルが空白でない場合は次のイテレーション」という処理を行います。
- ループと判定が正しく作動しているのかを確認します。
「Excel 内ループ(Loop in Excel)」ステップの右から2番目の▶を押し、空白セルに移動するまでループのイテレーションを増加させ、「セルタイプ判定(Test Cell Type)」ステップを通過できるかを確認します。
※デザインモード実行が「スマート再実行(フル)」の場合は、
「セルタイプ判定(Test Cell Type)」ステップ以降のステップ(画像ではエンドステップ)を右クリックし、
「ここまで実行(パスの制限なし)」を選択することでも、動作を確認することができます。
【補足】
「セルのコンテンツ設定(Set Content of Cell)」ステップや「名前付き範囲設定(Set Named Range)」ステップの「ファインダー」タブを設定することで、指定した範囲内の空白セルを選択することも可能です。
(例では、空白セルに"空白セル"と入力する操作を行います)
- Excelファイルを開き、任意のセルで右クリックし、「セルのコンテンツ設定」を選択します。
「セルのコンテンツ設定(Set Content of Cell)」ステップについては、以下ナレッジをご参考ください。
・「セルのコンテンツ設定(Set Content of Cell)」ステップ
- 「セルのコンテンツ設定(Set Content of Cell)」ステップの「ファインダー」タブを以下の通り修正します。
・範囲:シート内で空白を検索する範囲(画像では、「Sheet1!」とし、シート全体を設定しています。)
・使用:「一致するセル」、セルパターン:空白のまま
上記設定により、範囲内の空白セルが操作対象セルに設定されます。
「ファインダー」タブの設定詳細については、以下ナレッジをご参考下さい。
・「名前付き範囲設定(Set Named Range)」ステップ
・該当する値を持つセルを検索する
【注意点】
- テストステップの「If」「Do」の設定等により後続ステップに進めない場合は、デザインモードでの操作中であってもエラーが表示されます。
テストステップの後続ステップを操作する場合、以下の操作が必要となります。
・ロボットの設定から実行モードを「スマート再実行(フル)」にする。
(後続ステップは実行されませんが、ステップの編集することのみ可能です)
・イテレーションを操作し、後続ステップに進める状態で操作する。
・ロボットの構築中のみ、テストステップを一時的に無効化する。
参考ナレッジ:DSにて特定のステップを一時的に実行しないようにする方法
【関連情報】
- 「Excel 内ループ(Loop in Excel)」ステップ
- 「セルタイプ判定(Test Cell Type)」ステップ
- セルのアドレスを取得する
- Version9.4 以降でExcelファイルに対してできること、できないこと
- Excelのループ処理を行う範囲を変数で指定する方法
※この記事は2021年2月23日にver10.4.0.2で作成したものです。
※本記事は初心者の方に分かりやすくご説明することを目的としております。
そのため、意図的に厳密な表現を避けている場合がございますのでご了承ください。