|
じゅん さん、つん さん、こんばんわ。
>Application.InputBoxにて、セル参照(Rangeオブジェクト)
>のタイプでデータを取得します。
>指定した行数(セルではなく)を削除するようにしたいのですが、
Sub test()
Dim r1 As Range
On Error Resume Next 'キャンセル対策
Set r1 = Application.InputBox("行単位で選択してね", "行選択", Type:=8)
On Error GoTo 0
'行全体を選択しているときに削除
If Not r1 Is Nothing Then
'行全体に範囲を拡張したものと同じならば削除
If r1.Address = r1.EntireRow.Address Then
r1.Delete
Else
MsgBox "行単位で選択してね", vbExclamation
End If
End If
Set r1 = Nothing
End Sub
ただし、行単位で削除したいということならば、こちらのほうが入力する人も簡単かも。
Sub test()
Dim r1 As Range
On Error Resume Next 'キャンセル対策
On Error GoTo 0
Set r1 = Application.InputBox("範囲を選択してね", "選択", Type:=8)
'行全体で削除
If Not r1 Is Nothing Then
With r1.EntireRow
If MsgBox(.Address(False, False) & "を削除します", vbOKCancel) _
= vbOK Then .Delete
End With
End If
Set r1 = Nothing
End Sub
こんな感じです。
|
|