# 繰り返し(各行)アクティビティで行削除する方法

**URL:** <https://forum.uipath.com/t/topic/198092>\
**Category:** フォーラム\
**Tags:** datatable, question\
**Created:** [February 28, 2020, 12:28am UTC](https://forum.uipath.com/t/topic/198092 "2020-02-28T00:28:23Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![196006](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/196006/32/180226_2.png) [@196006](https://forum.uipath.com/u/196006)\
**Post date:** [February 28, 2020, 12:28am UTC](https://forum.uipath.com/t/topic/198092/1 "2020-02-28T00:28:23Z")

</div>

データテーブルの「繰り返し(各行)」アクティビティ中で  
条件にマッチした行を削除したいと考えています。  
この場合、普通に **１行目** ( **昇順** )からループを回して問題ないのでしょうか。  
読込中の行を削除しても、問題なく次の行を読込み粛々と処理が進むのでしょうか？  
直感的に **最終行** ( **降順** )から処理をすれば問題なさそうなのですが、そんなことが出来るのでしょうか？  
ご指導よろしくお願いいたします。

---

<div class="post-metadata">

**Author:** ![ytakayama](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/ytakayama/32/263311_2.png) [@ytakayama](https://forum.uipath.com/u/ytakayama)\
**Post date:** [February 28, 2020, 12:39am UTC](https://forum.uipath.com/t/topic/198092/2 "2020-02-28T00:39:19Z")

</div>

@196006 様

おっしゃる通り、途中で行を削除するのは問題が発生すると思います。  
データテーブルを最終行から行うことで可能です。  
ただ、実装したいことを考えると、データテーブルをフィルタリングでも可能かと思うのですが  
いかがでしょうか？

もし複雑なことをしたくて後ろからループさせるならinvoke codeで記述すると思います。  
For i As Integer = dt.Rows.Count -1 To 0 Step -1  
実行したい処理  
Next  
のような感じで後ろから回すことも可能です。

---

<div class="post-metadata">

**Author:** ![HANACCHI](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/hanacchi/32/85375_2.png) [@HANACCHI](https://forum.uipath.com/u/HANACCHI)\
**Post date:** [February 28, 2020, 12:56am UTC](https://forum.uipath.com/t/topic/198092/3 "2020-02-28T00:56:45Z")

</div>

その方法か、「繰り返し (後判定)」で実装ですね。

添え字にデータテーブルの行数（DT.Rows.Count) - 1を設定し、  
「繰り返し (後判定)」アクティビティのConditionで、\*\*Not 添え字.Equals(-1)\*\*まで処理を行わせる。  
「繰り返し (後判定)」アクティビティのBodyの中で、DT.Rows(添え字).Item(列名)など参照し、  
行削除条件を満たしたら、「データ行を削除」アクティビティで削除。  
その後代入アクティビティで、添え字＝添え字 - 1として減算

★添え字操作とか、Condition条件の記述はウロですので、実装して調整してみてください\<m(\_\_)m\>

[繰り返し\_各行\_アクティビティで行削除する方法.zip](https://forum.uipath.com/uploads/short-url/zLAu8iNqErq8CDlOlbWMTJkR8an.zip) (11.8 キロバイト)

---

<div class="post-metadata">

**Author:** ![196006](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/196006/32/180226_2.png) [@196006](https://forum.uipath.com/u/196006)\
**Post date:** [March 1, 2020, 5:52am UTC](https://forum.uipath.com/t/topic/198092/4 "2020-03-01T05:52:57Z")

</div>

ytakayama様  
ありがとうございます。  
やはりそうですか。  
勉強させていただきました。

---

<div class="post-metadata">

**Author:** ![196006](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/196006/32/180226_2.png) [@196006](https://forum.uipath.com/u/196006)\
**Post date:** [March 1, 2020, 5:55am UTC](https://forum.uipath.com/t/topic/198092/5 "2020-03-01T05:55:29Z")

</div>

HANACCHI様  
いつもご指導ありがとうございます。  
連続した２行の特定カラムを比較して、行削除といった内容なのでフィルタが難しいと思いました。  
「繰り返し」を使うことになり、ご指導いただいた方法を参考にさせていただきました。  
希望の動作をさせることが出来ました。

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/system/32/182466_2.png) [@system](https://forum.uipath.com/u/system)\
**Post date:** [March 4, 2020, 5:55am UTC](https://forum.uipath.com/t/topic/198092/6 "2020-03-04T05:55:35Z")

</div>

Closed on March 4, 2020, 5:55am UTC

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.
