VBA 最終行の値を取得
Excel2007です。
印刷用シートに、用紙を4分割して、4件分のカードを印刷できるようにしてあります。
A1, F1, A10, F10の入力セルに、それぞれデータシートのNo.を入れると、vlookupで連動されるようになっています。
No.の入力セルは、4ずつ加算されるようにVBAを書きました。
さらに、データシートの最終No.を超えた場合に、メッセージボックスを出したいのですが、うまくいきません。
例えば、データシートが200件まで入力されているとして、印刷シートのNo.に「201」を入力すると、「これ以上データがありません」というメッセージを表示させたいです。
Sub 次データ()
Dim 最終行 As Long, 最終値 As Long
Dim my As String
最終行 = Worksheets("データ").Range("A1048576").End(xlUp).Row
最終値 = Cells(最終行, 1)
Worksheets("印刷用").Select
Range("A1").Value = Range("A1") + 4
Range("F1").Value = Range("F1") + 4
Range("A10").Value = Range("A10") + 4
Range("F10").Value = Range("F10") + 4
If Range("A1") > 最終値 Or Range("F1") > 最終値 Or Range("A10") > 最終値 Or Range("F10") > 最終値 Then
my = MsgBox("これ以上データがありません", vbOKOnly + vbExclamation, "注意!")
End If
End Sub
このように書いてみましたが、これだと「次データ」を実行する度にメッセージボックスが出てしまいます。
どこを直せばいいのでしょうか。
分かりづらい文章ですみません。
なにぶん、VBAをかじりかけたばかりで、ド素人ですのでよろしくお願いします。