- - PR -
行数の取得
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-11-08 17:46
こんばんは。
VB2005でEXCELの2列目が入力されている行数を 取得したいのですが・・ 以前6.0の時はCurrentRegion.Rows.Countで取得していました。 2005ではどのようになるのでしょうか? | ||||
|
投稿日時: 2008-11-08 22:31
6.0とかVB2005(のバージョンの違い、バージョン相違の吸収etc)だとかの前に、 言っていること(目的・やりたいこと)とコードがミスマッチで 理解不能です。 CurrentRegion.Rows.Countは選択範囲の行数を数えているものであり、 入力されているとかされていないとかと全く関係ありません。 2列目も絶対的な2列目の位置(B列)なのか、 選択範囲の中での相対的な2列目なのかで コーディングが違うので、このままでは回答不能と思われます。 CurrentRegionが提示されているので、選択範囲相対2列目のような 気がしますが。 | ||||
|
投稿日時: 2008-11-09 17:18
こんにちは
セル範囲の指定は任意に変えてもらうとして CountAを使うのも手ですね Debug.Print Application.WorksheetFunction.CountA(Sheet1.Columns(2)) ここで、Application は 変数を使って、Excelのインスタンスを代入してください Excel2003で確認しました ではでは | ||||
|
投稿日時: 2008-11-10 16:11
Excel Object Library のお話ですか? でしたら VB6 とか 2005 とか関係ないですね。 "VB6 の時" からまともに取得できていなかったということです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-11-21 19:32
こんばんは。
遅くなり申し訳ありません。 確かにじゃんぬねっとさんの言われる通りでした。 CountAも試してみましたが、カウントではなく ある列の最終行を取得したいのです。 UsedRange.Rows.Countを試してみましたが これでは値が入っていない行まで取得してしまいます。 みなさんはどうされていますか? | ||||
|
投稿日時: 2008-11-21 19:39
(0, 0)から最終データまで選択して、そのうちの行の数を数える。
すると、行の数=最終行。 | ||||
|
投稿日時: 2008-11-21 20:12
値が入っていない範囲でも書式設定などをしたことがあったりすると、UsedRange の範囲に含まれてしまいます。 どんな方法を使うにしても最終行まで自分でカウント アップするのが無難です。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2008-11-22 21:28
最終行ってのを、どう定義します?
すべての列に、必ず何らかの値が入っているなら、値がない行まで調べればいいのですが、セルの結合をしていたり、空値もありえるなら、単一の列だけを調べていると、最終行にならないかも知れません。 まぁ、出てきていない条件については、今までの経験で勝手に想像するわけですが。 (だから、上司に報告したり、同僚に相談するのが先じゃないか?と書くのです。) |