セレクトレンジの範囲指定

セレクトレンジでエクセルの範囲指定をしたいのですが、開始行はA2から始まりますが、最終行が可変的です。この場合どのように指定しやればもれなく範囲指定できますでしょうか?

「A2」だけでもうまく読み取ってくれますよ

やってみてください

1 Like

ありがとうございます。ちなみに最終行は範囲から外したいのですが、エクセルのoffsetのようなことは可能でしょうか?

一度データテーブルの型に読み取ってから、後でロジック上、処理対象外にした方が楽だと思います。

要件次第ですが…

データテーブルでとってその後、フィルターで不要な情報を削除するとして、それを文字列にクリップボードに格納したいのですが、可能でしょうか?

データテーブルは、EXCELのシートみたいなものですから、行方向(Row)と、列方向(Item)で参照できます。

クリップボートに格納するのは、1つのセルイメージのものですか?それともセルを範囲指定したイメージのものですか?

クリップボードに格納さるのはエクセルシートのセルの範囲です。

Select rangeの範囲をE2にしたらE2しか選ばなくないですか?

e2セルから右下方向へ、アクティビティが認識する範囲ですねー。

どうやって書いたらいいんでしょうか?

こんにちは

Select RangeはRead Rangeと異なり、開始セルだけで自動的に範囲選択を拡張する機能は無いかと思います。
そのため何らかの方法で可変する範囲を特定する必要があるかと思います。
例えばE2が起点として、下方向にデータのある所までを範囲指定したいのであれば..

  • WhileループでRead Cellの参照先をE3,E4と増やしていき必要となる部分を特定する。
  • ReadRangeの自動範囲選択から特定できるようであれば、一旦Read Rangeで範囲をE2と指定した上で、出力されるDataTableの行数からこれを特定する。

等が考えられます。
後者の例は DataTableをdtとすると、dt.Rows.Countで行数(仮にnとする)が取れるので、"E2:E"+(2+n-1).toStringのような形になるかと思います。

2 Likes

あっ申し訳ない!

SELECT RANGEとREAD RANGEとを勘違いしていました。(>_<)

YOICHIさんの書き込みが全うなものです<m(__)m>

ありがとうございます。できました!

2 Likes

おぉ!良かったです!

参考になった書き込みの解決策にチェックしてくださいませ。

今年も頑張って参りましょう!

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