|
|
| Excel VBA Macro ・ 値の操作 ・ FAQ |
|
特定の文字列を含むセルを探してその列を削除するには?
|
|
|
|
Question 63.9 |
Excel VBA Borad (掲示板)より |
 |
 |
|
|
こんにちわ。記録マクロでマクロ作成に挑戦している初心者です。
不要なデータを行ごと削除したいのですが、どのようにすれば良いか知恵を貸していただけると嬉しいです。
(1) 行が件数、列が項目です。
(2) 件数は毎回変わりますが、項目は一定です。
(3) S列に、特定の文字列を含むセルがあれば行ごと削除したいです。
(4) S列のセルのデータは「文字3文字-数字4桁」(あいうえ-0001)です。
(5) 特定文字列とはハイフンの前のあいうえ部分です。(数字部分は1件ずつ違います)
分かりづらい説明で申し訳ありませんが、お願いします。
|
|
|
次のような感じになります。
(処理速度は無視したわかりやすいコードにしています)
Dim myStr As String
Dim myCell As Range
'アクティブシートを対象に処理
'アクティブシートがワークシートでなければ処理しない
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
myStr = "ABC" '検索する文字列
Do
'検索
Set myCell = Columns("S").Find(myStr & "-????", , xlValues, xlWhole)
'検索にヒットしなければループを抜ける
If myCell Is Nothing Then Exit Do
'ヒットしたセルの行を削除
myCell.EntireRow.Delete
Loop
|
|
|
的確でとても分かりやすいお返事、ありがとうございました。
いつも記録マクロでつくって修正しながら作成していますが、結局詰めのところでギブアップしてしまい最後まで作れません。 今回はおかげで最後までがんばって作ろうと思っています。
|
|
|
|
| |
|
|