Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


54269 / 76738 ←次へ | 前へ→

【27265】Re:確認方法
回答  りん E-MAIL  - 05/8/3(水) 21:26 -

引用なし
パスワード
   じゅん さん、つん さん、こんばんわ。

>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
こんな感じです。

0 hits

【27262】確認方法 じゅん 05/8/3(水) 19:49 質問
【27263】Re:確認方法 つん 05/8/3(水) 20:25 回答
【27265】Re:確認方法 りん 05/8/3(水) 21:26 回答
【27299】Re:確認方法 じゅん 05/8/4(木) 15:46 質問
【27300】Re:確認方法 つん 05/8/4(木) 16:14 回答
【27301】Re:確認方法 Jaka 05/8/4(木) 16:23 発言
【27302】Re:確認方法 つん 05/8/4(木) 16:39 発言
【27303】Re:確認方法 でれすけ 05/8/4(木) 16:52 回答
【27305】Re:確認方法 ichinose 05/8/4(木) 17:01 発言
【27319】Re:確認方法 じゅん 05/8/5(金) 11:42 お礼

54269 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free