Excelで結合されたセルのループ処理について

表の中身をread sellと別ファイルへのwrite sellでループしたいのですが、1行の中に複数行結合されているものやされていないもの、空白などがある場合のループの仕方を教えてください。
どのようなループになるのでしょうか。
また、write sellしたときにそれらの書式はどのようになるのでしょうか。

どのような範囲でLOOPさせるのでしょうか?

範囲の取得方法によっては、READ CELL/WRITE CELLではなく、READ RANGE/WRITE RANGEアクティビティで、シートの全体をDataTableと言う形式の変数で扱った方が楽です。

A1~A3がセル結合されていて、A2をREAD CELLアクティビティで読んだ場合は、値が設定されていないので、「NullReferenceException」になります。

範囲はシートの中間あたりからデータの入っている最終行までで(シートによって変動)、項目名のある表になっています。
その表が、結合されているセルやされていないセルが混在している状況です。

となると、READ RANGEの方が扱いやすいと思います。是非ご検討ください。

1 Like

初歩的な質問で申し訳ないのですが、read rangeの場合の範囲指定はどのようにしたら良いのでしょうか?
スタートは決まっていますが、終わりが変動的です。

ー追記ー
また、統合されているセルの中に、一つの項目に対して2列のデータがある場合や、2行のデータがある場合はどのように指定するのでしょうか。
row(“項目名”).ToStringの取り方でできますか?

終わりが変動となると、とりあえず最大領域を決め打ちで設定する方法があります。
READ RANDEアクティビティで、範囲として、例えば、シート中央のデータが入っている左上のセルだけを指定します。この場合、READ RANDEアクティビティが最終行列を評価し、そこまでのセル情報をDataTable型の変数に格納します。

DataTable型の変数から、行を扱うには「繰り返し(各行)」アクティビティを、その行についての列を扱うには、「繰り返し「コレクションの各要素」アクティティを使用します。

1 Like