ここから本文です

エクセルVBAについて質問です。

アバター

ID非公開さん

2018/6/512:12:02

エクセルVBAについて質問です。

A1からD52にデータが入っています。
この内、「大阪」もしくは、「125」を含むセルのある行を全て削除したいのですが、どういったVBAを組めば良いのでしょうか?

ご教示のほど宜しくお願いします!

閲覧数:
36
回答数:
2

違反報告

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

sk_********さん

2018/6/606:06:08

次の形でどうでしょう。

Sub Sample()
Dim r As Range, myRng As Range, c As Long
For Each r In Range("A1:D52")
If r.Value = "大阪" Or r.Value = 125 Then
If c = 0 Then
Set myRng = r: c = 1
Else
Set myRng = Union(myRng, r)
End If
End If
Next
myRng.EntireRow.Select
End Sub

マクロで行を削除すると、「元に戻す」が使えないので、行を選択する形にしてあります。

次の形でどうでしょう。

Sub Sample()
 Dim r As Range, myRng As...

この回答は投票によってベストアンサーに選ばれました!

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

1〜1件/1件中

hel********さん

2018/6/608:36:00

一例です。

Sub Sample()
Dim i As Integer, cnt As Integer
For i = 52 To 1 Step -1
cnt = WorksheetFunction.CountIf(Range(Cells(i, "A"), Cells(i, "D")), "大阪")
cnt = cnt + WorksheetFunction.CountIf(Range(Cells(i, "A"), Cells(i, "D")), 125)
If cnt > 0 Then
Rows(i).Delete
End If
Next i
End Sub

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

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

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

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

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

閉じる

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

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

閉じる