重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

エクセルVBAでデータ最終行取得方法で良い方法を教えてください。

データの行数、列数は不定。
最多のデータ行の列も不定。

この条件で、データ最終行を取得するにはどうすればよいでしょうか?

lastrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row
では、A列の最終行に限定されます。

lastrow = ActiveSheet.Cells(1, "A").SpecialCells(xlLastCell).Row
では、列の限定はありませんが、一旦データ入力後、削除した部分まで入ってしまいます。

lastrow = ActiveSheet.UsedRange.Rows.Count
では、データ入力後、削除した部分まで入ってしまい、かつ、1行目など上部が空白の場合、不正確になります。

A 回答 (11件中11~11件)

> lastrow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "A").End(xlUp).Row


> では、A列の最終行に限定されます。
列は最大で256なのでループさせ、その中の最大を採用する。

ただし
lastrow = ActiveSheet.Cells(1, "A").SpecialCells(xlLastCell).Row
で最も使用しているであろう列でBreak。

ではいかが?
    • good
    • 0
この回答へのお礼

そうですね。
ありがとうございます。

お礼日時:2005/11/16 15:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!