
MsgBox関数の使い方 マクロ講座50回
3行マクロ40回でRange.Endプロパティを使って、最終行を取得し、MsgBoxで知らせるマクロを作成しましたが、たいていは、最終行かあるいは、その次の行に移動したい場合が多いですね。
今回は、最終行を教え、移動するかどうかたずねるマクロを考えましょう。
(サンプルファイルは、こちらから 2013マクロ講座50回サンプルデータ)
Sub 最終行を取得1()
'データに空白がないとき
Dim LastRow As Long
LastRow = Range("A1").End(xlDown).Row
MsgBox "最終行は" & LastRow & "行目です。"
End Sub


Sub 最終行とボタン表示()
Dim LastRow As Long
LastRow = ActiveSheet.Range("A1").End(xlDown).Row
MsgBox ("最終行は: " & LastRow & "行です。移動しますか", vbYesNoCancel)
End Sub
If Modori = vbYes Then ' 戻り値がvbYesだったら
Range("A" & LastRow).Select ' 最終行を選択する
Else
MsgBox "何もしません。" ' それ以外は、これ
End If
MsgBox関数の戻り値は次のようになります。
Sub 最終行を知らせ移動2()
'最終行を教え移動するかどうかたずねる
Dim LastRow As Long
Dim Modori As Integer
LastRow = ActiveSheet.Range("A1").End(xlDown).Row
Modori = MsgBox("最終行は: " & LastRow & "行です。移動しますか", _
vbYesNoCancel + vbQuestion + vbDefaultButton2 + vbApplicationModal, "最終行")
If Modori = vbYes Then
Range("A" & LastRow).Select
Else
MsgBox "何もしません。"
End If
End Sub

