[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ 特定列に文字が入力されている行を削除する』(ぷぃきゅA)
マクロに関して初心者なのでお尋ねします。
C列にIF関数で退社と表示されている人を削除したいのですが、
2 う
3 お か 退社 ←行削除
4 き
ネットから何度か検索して下のようにマクロを組んだのですが、
IF関数の"退社"も認識されて全行が削除されてしまいます。
C列に【退社】と表示されている人のみ行が消えるようなコードはありませんか?
Sheets("シート").Select Application.ScreenUpdating = False Do While (True) Columns("C:C").Select Set mySelect = Selection.Find(What:="退社", LookAt:=xlWhole) If mySelect Is Nothing Then Exit Do Rows(mySelect.Row).Select Selection.Delete Shift:=xlUp Loop Application.ScreenUpdating = True End Sub
若しくは「B列に何でもいいので文字さえ入力されていたら行を削除する」
でも同じ事ができると思うので、
分かる方がいらしゃいましたら教えてください。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
Sub test() Dim i As Long
Application.ScreenUpdating = False With Sheets("シート") For i = .Cells(.Rows.Count, "C").End(xlUp).Row To 1 Step -1 If .Cells(i, "C").Value = "退社" Then .Rows(i).Delete Shift:=xlUp End If Next i End With Application.ScreenUpdating = True End Sub (???) 2019/06/20(木) 15:18
>Set mySelect = Selection.Find(What:="退社", LookAt:=xlWhole) を、下記に変更 Set mySelect = Selection.Find(What:="退社", LookAt:=xlWhole, LookIn:=xlValues)
もしB列が手入力であるなら、こんな感じでも Sub test() Dim rng As Range Set rng = Columns("b").SpecialCells(2, 2) On Error GoTo 0 If Not rng Is Nothing Then rng.EntireRow.Delete End Sub (seiya) 2019/06/20(木) 15:19
回答ありがとうございます。
お二方のデータを入力したら無事退社のみ行が消えました。
色々と勉強になりました!ありがとうございます!
(ぷぃきゅA) 2019/06/20(木) 15:40
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.