入力配列がこのテーブルの列数より長い値です

データテーブルAのうち、H列が「b」のもののみ、違うシートに転記したいです。RPA初心者です。
流れは、
①データテーブルAを範囲を読み込み
②違うシートを範囲を読み込み(データテーブルB)
③繰り返しデータテーブルの各行(繰り返し:Row 各要素:データテーブルA
)に条件分岐をいれる
条件分岐の式
row.item(6).ToString=“b”
④条件分岐の中にデータ行を追加
データテーブル:データテーブルA
ArrayRow:row.ItemArray
転記ができませんでした。

「入力配列がこのテーブルの列数より長い値です」というエラーが出ます。

ご教授いただけませんでしょうか。

こんにちは

エラーの直接の原因は、データテーブルAとデータテーブルBの列数が異なるためと
思われます。

今回やりたいことを勘案しますと、繰り返しではなく、データテーブルをフィルタアクティビティで
実現できるかと思いますので、こちらいかがでしょうか?

範囲読み込み→データテーブルをフィルター→範囲書き込み

だけになると思います。

https://docs.uipath.com/lang-ja/activities/docs/filter-data-table

以前に引き続き、ご回答いただき誠にありがとうございます!似たような質問になってしまい申し訳ございません・・

フィルタアクティビティは、試したことがあるのですが、UiPathのバージョンの関係?でフィルターをかけたあとのデータテーブルの出力がうまくいきませんでした。
(何回やっても、フィルターをかける前のデータが出力されました)

エラーの原因を教えていただき、エラーはなくなりましたが、何も転記がされず、ロボットが終わってしまいます・・

こんにちは

どのように設定されていますか?スクリーンショットやファイルを共有いただくと良いと思います。

UIPATHの内容
内容

データテーブルAのExcelのシートの内容
Excelの内容

データ行を追加は、列配列にrow.ItemArrayをいれてます。

こんにちは

こちらではなくフィルターの方はございませんか?

最初の方法の場合は、データテーブルBの元となるシートの情報が必要になります。

すみません。フィルターを使用して作成していたロボットは消してしまいました・・
ですが、下記のように作成したことを覚えています。
フィルター

フィルターを使わない最初の方法の、
データテーブルBのシートは、何も記載がないまっさらなシートです。
そのシートを、
範囲を読み込みで下記のように設定しています。
範囲 : “A1:F”+(データテーブルA.Rows.Count).ToString
出力データテーブル : データテーブルB

そのあと、さきほどの繰り返しにしています。

こんにちは

最初の方法ですが、エラーから判断するとAとBのデータテーブルの列数が異なるのが原因
かと思います。データテーブルAが7列以上あるのではないでしょうか?

これを回避する一番簡単な方法は代入アクティビティで

dtB = dtA.Clone

としてやれば、dtAと同じ構造の空のデータテーブルが作れます。

フィルタの方は、これで動きそうですが、動かないのであれば何か問題があったのかもしれません。

教えていただきました方法でできました!!!
大変助かりました!
誠にありがとうございます!