プロが教えるわが家の防犯対策術!

エクセル2002使用です。
セル(A~F列)にランダムに入力された列の最終行数を変数で取っています。
その中で最も大きい変数の値を取るコードを記述したいのですが、
良い方法がわかりません。

sub test()
Dim rcnt1, rcnt2, rcnt3, rcnt4, rcnt5, rcnt6, rcnt As Integer
'最終行の取得
rcnt1 = Cells(65536, 1).End(xlUp).Row
rcnt2 = Cells(65536, 2).End(xlUp).Row
rcnt3 = Cells(65536, 3).End(xlUp).Row
rcnt4 = Cells(65536, 4).End(xlUp).Row
rcnt5 = Cells(65536, 5).End(xlUp).Row
rcnt6 = Cells(65536, 6).End(xlUp).Row

rcnt = "最も大きい変数の値" ←ここがわかりません。
end sub

よろしくお願いします。

A 回答 (2件)

ワークシート関数が便利です。



rcnt = Application.WorksheetFunction.Max(rcnt1,rcnt2,rcnt3,rcnt4,rcnt5,rcnt6)
    • good
    • 0
この回答へのお礼

hana-hana3様 ありがとうございました。
頭がすぐにまわらなくて・・・・

万事うまくいきました。
今後ともよろしくお願いします

お礼日時:2006/04/11 11:40

私だったらそうはしません


Maxr(変数であって関数ではない)を最小の1にして
For Nextで
rcnt = Cells(65536, i).End(xlUp).Row
を出した都度Maxと比べて大きければMaxr に代入し、6回終わった
Nextを抜けた時のMaxr 値が各列を通した最下行です。
この小ロジックは良く使うものです。
    • good
    • 0
この回答へのお礼

imogasi様早速のご回答ありがとうございます。
なるほど、これはいろいろなパターンで使えそうです。
この小ロジックはたいへん便利そうなので、マスターさせていただきました。
いつもありがとうございます。今後ともよろしくお願いします。

お礼日時:2006/04/12 08:35

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