Excelの自動化処理について、

こんにちは
現在、Excelの自動化処理をしているのですが、うまくいきません。

内容としては、
H列の値が100以上の場合のみB列の値を+10する
というものです。

フローとしては、

繰り返し各行の中に代入を入れる 代入式 変数A=CInt(Row(1).ToString)
フロー条件分岐を入れる。 条件式 CInt(Row(7).ToString)>=100
Trueの場合は代入 代入式 変数B=変数A+10
セルに書き込み 範囲 “B”+インデックス.ToString
テキスト 変数B

の順番と式で配置しておりますが、うまく書き込みが出来ません。
値が100以下でも+10されたり、100以上であっても+10されないなどバラバラな結果になってしまいます。

わかりずらい説明で申し訳ございません。正しいフローの組み方を教えていただけたらと思います。よろしくお願いいたします。

@TatsukiNakazawa

実際のワークフローを見せて頂けると解決が早いと思いますが、、
1点気になったのは変数Bはループの中で0にリセットしていますか?
(代入でB = 0でいいとおもいます)
ただこれが原因なら100以上で+10されないっていう挙動は起きないんですよね。。

上手く動作しないところをデバッグで確認すると良いかもしれません。

インデックスに+1するとかかな。
(自力でカウントしてるか不明ですが)

Hi @TatsukiNakazawa

もしかしてエクセルのインデックス値とforeach rowアクティビティのインデックス値が同一ではないため、値が押されて書き込まれているのではないですか? for each rowアクティビティは、インデックスが0から始める一方、エクセル・インデックスはヘッダを除けば、差が2そうでなければ差が1発生します。 その部分を確認してください。

1 Like

皆様、解答していただきありがとうございました。
返答に時間がかかってしまい、申し訳ございませんでした。

確認したら2マスずつずれていたので、代入でインデックス+2をしたら無事改善されました。
ありがとうございます!

2 Likes

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