[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『if条件で一致する条件が一致するセルの行を消す』(ゆうい)
初心者です。
毎回するデータの処理に使いたいです。
やりたいこと
?@Sheet2を選択する
?AA5からAD行の最終列まで範囲に選択し、
?BE行に"条件1"かつF行に"条件2-*"があればその行(AからAD※ブランク箇所あり)は削除したいです。
Sub セルの値を条件として抽出()
'[A]変数の宣言と値の代入
Worksheets("Sheet2").Activate
Dim dRng As Range Dim Joken1 As String, Joken2 As String Dim cnt As Long Set dRng = Range("A5", Cells(Rows.Count, 1).End(xlUp)).CurrentRegion Joken1 = Range("条件1").Value Joken2 = Range("条件2-*").Value
'[B]条件に当たるセルを消す
If Joken1 And Joken2 Then '行を削除する dRng.Delete End If
End Sub
なかなかてこずっており、すみません。
これから勉強していきます。
よろしくお願いいたします。
< 使用 Excel:Office365、使用 OS:Windows10 >
名前の定義に*は使えないと思うので、条件2として定義されているとして、 提示のコードを活かしてみました。 Worksheets("Sheet2").Activateとか、 Set dRng = Range("A5", Cells(Rows.Count, 1).End(xlUp)).CurrentRegion についてはご自身で検討を。
Sub セルの値を条件として抽出() '[A]変数の宣言と値の代入 Worksheets("Sheet2").Activate Dim dRng As Range Dim Joken1 As String, Joken2 As String Dim r As Range, tmp As Range Set dRng = Range("A5", Cells(Rows.Count, 1).End(xlUp)).CurrentRegion Joken1 = Range("条件1").Value Joken2 = Range("条件2").Value '[B]条件に当たるセルを消す For Each r In Range("E5", Cells(Rows.Count, "E").End(xlUp)) If r = Joken1 And r.Offset(, 1) Like Joken2 & "-*" Then If tmp Is Nothing Then Set tmp = r Else Set tmp = Union(tmp, r) End If End If Next If Not tmp Is Nothing Then '行を削除する tmp.EntireRow.Delete End If End Sub
(春朗) 2022/06/23(木) 07:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.