「範囲内で検索」アクティビティの結果がnullになってしまう

初めまして、最近仕事の関係でUiPathを学習している者です。

現在、Excelの1枚目のシートのセルの内容を取得し、「範囲内で検索」で2枚目のシートで、
1枚目のシートのセルと同じ内容のセル番号を取得したいのですが、出力結果がnullになってしまいます。

どのように対処すればいいでしょうか。
ご教授いただければ幸いです。

どのようなロボットをおつくりになったのでしょう?

差し支えなければプロセス毎圧縮して共有いただく(無論業務的な情報は除外して)、スクリーンショットしていただければ、こちらも問題点が把握しやすくなります

返答が遅くなり、申し訳ございません

スクリーンショットを送らせて頂きます
itemには参照元の内容が入ってます
出力はwriteCellで設定しています

とりあえずwriteCellを「一行を書き込む」で出力してみると何も表示されない状態です

サンプルしてみましたが、正常に検索結果が取得できました。
検索セルが存在しないように、範囲を陽に指定し実行するとNullになりました。
となると、item.ToStringの中身が実際には検索対象のシートに無いって結論。

因みに、このitemって変数は、どのアクティビティからのもので、どんな型なんでしょうか?

itemは、繰り返し(コレクションの各要素)で設定しているObject型の変数です

itemを「一行を書き込む」で表示させてみたのですが、
ちゃんと取り出せているみたいです

となると、範囲内で検索の「範囲」に、確実に存在する範囲アドレスを指定してやってみましょうか。。。"A1:C4"みたいにして。

これで取れなければ、itemの内容と、セルの内容のミスマッチが考えられますね。

範囲を指定して実行したり、Excelでitemの内容を検索対象のセルにコピペして実行してみましたが、
変わらずnullのままです…

「範囲内で検索」の「値」に、item.ToString をつけない) を入力することは出来ますか?出来るようでしたら、その状態でお試しいただきたいです。

(このアクティビティの検索(比較)のロジックが不明確なのですが、もしかしたら文字列化していることに起因しているのではないか、と推測しました。。。)

このアクティビティとしては、「値」はStringなんですよねぇ。

すみません…できないみたいです

一度圧縮したワークフローをアップさせて頂きます(練習用なので業務情報は含まれていません)
ワークフローがわかりづらくて申し訳ないのですが、何がダメなのかをご指摘いただきたいです

今私がやろうとしているのは
1.「部課別集計」シートの「売上予測」の表から、今日の日付が含まれているターム以降のタームを指定
2.そのタームの行の合計値を取得
3.「タームごと集計」シートに「部課別集計」のタームと同じ列の「売上予測」の行に合計値を入れる
(売上実績の時も手順は1以外同じです)

文字列検索.zip (32.6 KB)

ちなみに、日付で検索しようとしたらうまくいきませんが、
ほかの検索内容("売上予測"や"売上実績"等)なら対象のセル番号が取得できるみたいです

こんにちは

EXCELのlookup関数においてチルダは特殊な意味を持ちます。(エスケープ記号のようにふるまいます。)

そのため今回のケースは「範囲内で検索」アクティビティのプロパティを以下のようにしてあげる必要があります。

item.ToString.Replace("~","~~")

1 Like

セル番号が取得できました!
チルダはエスケープ記号みたいなものだったんですね
ありがとうございました!

HANACCHIさん、cheez_RPAさんもありがとうございました :bowing_man:

2 Likes

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