[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロ 特定列に文字が入力されている行を削除する』(ぷぃきゅ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.