• ベストアンサー

取得した変数の値の一番大きい変数を取る

エクセル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 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

ワークシート関数が便利です。 rcnt = Application.WorksheetFunction.Max(rcnt1,rcnt2,rcnt3,rcnt4,rcnt5,rcnt6)

ken123
質問者

お礼

hana-hana3様 ありがとうございました。 頭がすぐにまわらなくて・・・・ 万事うまくいきました。 今後ともよろしくお願いします

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

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

ken123
質問者

お礼

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

関連するQ&A