ここから本文です

VBAでご教示下さい。A列のどこかに特定の印が付いた場合、その行も含めその印以降...

kin********さん

2015/5/1518:30:27

VBAでご教示下さい。A列のどこかに特定の印が付いた場合、その行も含めその印以降の行全て削除するにはどのようにしたらよいでしょうか?

具体的な例として、A列のどこか(A120だったりA350だったりA412だったり、ランダムに現れます)に☆印が付いた時、その行を含め最終行まで行削除したいです。
例)B10:X1008にデータが入力されていて、A442に☆が現れた場合、A442:X1008までのデータを消したいです。A442:X1008のセルの値を削除と言うより、行削除が望ましいです。※A列は、この場合A442の☆以外は空白です。また☆は一つだけ現れると言う前提です。色々試し、☆は消えたりしたのですがその下の行が削除されず、、。どなたかご教示頂けましたら幸甚です。

閲覧数:
163
回答数:
3
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

ja7********さん

2015/5/1519:35:19

こんな感じで如何でしょうか。

もし、☆ が、複数有った場合は、一番下を認識します。

なお、このコードは、"☆" を「完全一致」で検索していますが、
もし、「部分一致」の場合は、
Findメソッドの 引数 Lookat:=xlWhole を
Lookat:=xlPart にします。

標準モジュールに記述したときは、アクティブシートに対し、機能します。

Sub Test()
Dim FRng As Range
Set FRng = Range("A:A").Find("☆", After:=Cells(Rows.Count, 1), _
                  Lookat:=xlWhole, SearchDirection:=xlPrevious)
If Not FRng Is Nothing Then
   Rows(FRng.Row & ":" & Rows.Count).Delete
   MsgBox "行削除完了。", vbInformation
Else
   MsgBox "「☆」 が、見つかりません。", vbExclamation
End If
Set FRng = Nothing
End Sub

質問した人からのコメント

2015/5/18 10:47:49

ja7awuさま
ありがとうございました。出来ました。記述の式を理解し、勉強して行こうと思います。brains_clownさまもありがとうございました。今回は最初にご回答頂きました方をベストアンサーにさせて頂きました。<(_ _)>

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

bra********さん

2015/5/1614:39:59

ja7awuさんの方法でも構わないというかむしろ簡単な気もしますが
ほぼ似たようなことを以下の方法でもできるかと。

Sub 行削除()
' 画面更新を停止
Application.ScreenUpdating = False
Dim rng As Range
' 一番最後の行を取得
Set rng = Range("a" & Rows.Count).End(xlUp)
' 最後の行から最初に "☆" が見つかるか A1 になるまで調べる
While rng <> "☆" And rng.Address(False, False) <> "A1"
Set rng = Range("a" & rng.Row).End(xlUp)
Wend
' "☆" が見つかった場合はそれ以降の行を削除
If rng = "☆" Then
Rows(rng.Row & ":" & Rows.Count).Delete
End If
Set rng = Nothing
' 画面更新を再開
Application.ScreenUpdating = True
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

aki********さん

2015/5/1519:18:45

まあ、手抜きなら

適当に行選択する操作をマクロの記録で記録する。

ようは、☆のある行から、適当な行までを選択出来れば良いのだから、あり得なさそうな行を指定しとけば良い。

後は、開始行を見つければ良いのだから、簡単ですよね。

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる