データの途中から処理をしたいです

いつもありがとうございます。

スクショのようなデータがあるとして
6行目(すいかの行)から処理を実行したい場合はどうすれば良いでしょうか?
C列に「済み」と記入がない行からを処理をしたいのです。

『セルに書き込み』『範囲に書き込み』『繰り返し』…など
いろいろ考えているのですが

「ここからはじめて、ここで終わる」のような設定の仕方がわかりません。

なお、データはどんどん蓄積されて
「済み」の最終行は常に可変していきます。

実際は、スプレッドシートに処理をします。

どうぞよろしくおねがいします。

SnapCrab_NoName_2022-1-24_14-22-26_No-00

こんにちは

業務要件によりますが、

・1行目から処理していき、処理列が「済」ならスキップして次の行を処理する。
→ForEachRowとContinueアクティビティが利用可能です。

・ある行の処理が完了したら、その行番号をどこかに書き込んでおく
再度処理するときに始める行をその行にする。
→繰り返し(前判定)等を使います。

あたりが良くあるパターンかと思います。

1 Like

Hi @111561 ,

たとえばDT1でDatatableを読み取り、DT上の各行にaを使用し、次に各行に次のようなIF条件を使用できます。
If(String.IsNullOrEmpty(row( “yourcolumnName”)。tostring)then true状態では、必要なプロセスまたは操作を実行できます。それ以外の場合は、最初は空白のままにします。

ありがとう

1 Like

ありがとうございます。

一度すべてのデータをデータテーブルとして取り込んで
データテーブルをフィルター…は思いついたのですが
実は実際に処理したいデータは、15,000行以上あります。

なのでC列の最終行を取得して
最終行+1の行から処理をする…をしたいのですが、
何か方法はないでしょうか?

最終行の取得はできたので
A列の最終行 - C列の最終行 = 3回繰り返す
などは考えたのですが、
「ここからはじめる」の設定方法がわからないのです。

こんにちは

例えば以下で処理列の最初の空白の行番号が返ります(DataTabel上の行番号です)
こちらいかがでしょうか?

dt.Rows.IndexOf(dt.AsEnumerable.Where(Function(r) String.IsNullOrEmpty(r("処理").ToString)).FirstOrDefault)
1 Like

ありがとうございます!
できました!

最終行が取得できたので
未処理の『A6:C8』でデータテーブルを作りました。

ありがとうございます!!

1 Like

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