@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

行数の取得

投稿者投稿内容
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-11-08 17:46
 こんばんは。

VB2005でEXCELの2列目が入力されている行数を
取得したいのですが・・

以前6.0の時はCurrentRegion.Rows.Countで取得していました。

2005ではどのようになるのでしょうか?

platini
大ベテラン
会議室デビュー日: 2002/12/03
投稿数: 193
投稿日時: 2008-11-08 22:31
引用:

EXCELの2列目が入力されている行数を取得したいのですが
以前6.0の時はCurrentRegion.Rows.Countで取得していました
CurrentRegion.Rows.Count



6.0とかVB2005(のバージョンの違い、バージョン相違の吸収etc)だとかの前に、
言っていること(目的・やりたいこと)とコードがミスマッチで
理解不能です。

CurrentRegion.Rows.Countは選択範囲の行数を数えているものであり、
入力されているとかされていないとかと全く関係ありません。

2列目も絶対的な2列目の位置(B列)なのか、
選択範囲の中での相対的な2列目なのかで
コーディングが違うので、このままでは回答不能と思われます。

CurrentRegionが提示されているので、選択範囲相対2列目のような
気がしますが。

渡辺ひかる
会議室デビュー日: 2008/11/09
投稿数: 1
投稿日時: 2008-11-09 17:18
こんにちは

セル範囲の指定は任意に変えてもらうとして
CountAを使うのも手ですね

Debug.Print Application.WorksheetFunction.CountA(Sheet1.Columns(2))

ここで、Application は 変数を使って、Excelのインスタンスを代入してください
Excel2003で確認しました

ではでは

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-11-10 16:11
引用:

なびさんの書き込み (2008-11-08 17:46) より:

VB2005でEXCELの2列目が入力されている行数を
取得したいのですが・・
以前6.0の時はCurrentRegion.Rows.Countで取得していました。
2005ではどのようになるのでしょうか?


Excel Object Library のお話ですか? でしたら VB6 とか 2005 とか関係ないですね。 "VB6 の時" からまともに取得できていなかったということです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
なび
ぬし
会議室デビュー日: 2007/08/27
投稿数: 273
投稿日時: 2008-11-21 19:32
こんばんは。

遅くなり申し訳ありません。

確かにじゃんぬねっとさんの言われる通りでした。

CountAも試してみましたが、カウントではなく
ある列の最終行を取得したいのです。

UsedRange.Rows.Countを試してみましたが
これでは値が入っていない行まで取得してしまいます。


みなさんはどうされていますか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-11-21 19:39
(0, 0)から最終データまで選択して、そのうちの行の数を数える。
すると、行の数=最終行。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-11-21 20:12
引用:

なびさんの書き込み (2008-11-21 19:32) より:

UsedRange.Rows.Countを試してみましたが
これでは値が入っていない行まで取得してしまいます。


値が入っていない範囲でも書式設定などをしたことがあったりすると、UsedRange の範囲に含まれてしまいます。 どんな方法を使うにしても最終行まで自分でカウント アップするのが無難です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2008-11-22 21:28
最終行ってのを、どう定義します?
すべての列に、必ず何らかの値が入っているなら、値がない行まで調べればいいのですが、セルの結合をしていたり、空値もありえるなら、単一の列だけを調べていると、最終行にならないかも知れません。


まぁ、出てきていない条件については、今までの経験で勝手に想像するわけですが。
(だから、上司に報告したり、同僚に相談するのが先じゃないか?と書くのです。)

スキルアップ/キャリアアップ(JOB@IT)