YYYYYYY
(YYYYYYY)
1
データテーブルAのうち、H列が「b」のもののみ、違うシートに転記したいです。RPA初心者です。
流れは、
①データテーブルAを範囲を読み込み
②違うシートを範囲を読み込み(データテーブルB)
③繰り返しデータテーブルの各行(繰り返し:Row 各要素:データテーブルA
)に条件分岐をいれる
条件分岐の式
row.item(6).ToString=“b”
④条件分岐の中にデータ行を追加
データテーブル:データテーブルA
ArrayRow:row.ItemArray
転記ができませんでした。
「入力配列がこのテーブルの列数より長い値です」というエラーが出ます。
ご教授いただけませんでしょうか。
Yoichi
(Yoichi)
2
こんにちは
エラーの直接の原因は、データテーブルAとデータテーブルBの列数が異なるためと
思われます。
今回やりたいことを勘案しますと、繰り返しではなく、データテーブルをフィルタアクティビティで
実現できるかと思いますので、こちらいかがでしょうか?
範囲読み込み→データテーブルをフィルター→範囲書き込み
だけになると思います。
https://docs.uipath.com/lang-ja/activities/docs/filter-data-table
YYYYYYY
(YYYYYYY)
3
以前に引き続き、ご回答いただき誠にありがとうございます!似たような質問になってしまい申し訳ございません・・
フィルタアクティビティは、試したことがあるのですが、UiPathのバージョンの関係?でフィルターをかけたあとのデータテーブルの出力がうまくいきませんでした。
(何回やっても、フィルターをかける前のデータが出力されました)
エラーの原因を教えていただき、エラーはなくなりましたが、何も転記がされず、ロボットが終わってしまいます・・
Yoichi
(Yoichi)
4
こんにちは
どのように設定されていますか?スクリーンショットやファイルを共有いただくと良いと思います。
YYYYYYY
(YYYYYYY)
5
UIPATHの内容

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

データ行を追加は、列配列にrow.ItemArrayをいれてます。
Yoichi
(Yoichi)
6
こんにちは
こちらではなくフィルターの方はございませんか?
最初の方法の場合は、データテーブルBの元となるシートの情報が必要になります。
YYYYYYY
(YYYYYYY)
7
すみません。フィルターを使用して作成していたロボットは消してしまいました・・
ですが、下記のように作成したことを覚えています。

フィルターを使わない最初の方法の、
データテーブルBのシートは、何も記載がないまっさらなシートです。
そのシートを、
範囲を読み込みで下記のように設定しています。
範囲 : “A1:F”+(データテーブルA.Rows.Count).ToString
出力データテーブル : データテーブルB
そのあと、さきほどの繰り返しにしています。
Yoichi
(Yoichi)
8
こんにちは
最初の方法ですが、エラーから判断するとAとBのデータテーブルの列数が異なるのが原因
かと思います。データテーブルAが7列以上あるのではないでしょうか?
これを回避する一番簡単な方法は代入アクティビティで
dtB = dtA.Clone
としてやれば、dtAと同じ構造の空のデータテーブルが作れます。
フィルタの方は、これで動きそうですが、動かないのであれば何か問題があったのかもしれません。
YYYYYYY
(YYYYYYY)
9
教えていただきました方法でできました!!!
大変助かりました!
誠にありがとうございます!