No.1ベストアンサー
- 回答日時:
こんばんは!
元データはSheet1にあり、削除したい文字列をSheet2のA1セルからA列に羅列しておきます。
一例です。標準モジュールにしてください。
Sub Sample1()
Dim i As Long, wS As Worksheet
Dim myFirst As Range, myFound As Range, myRng As Range
Set wS = Worksheets("Sheet2")
With Worksheets("Sheet1")
'削除したい文字列を一旦「#」に置き換える//
For i = 1 To wS.Cells(Rows.Count, "A").End(xlUp).Row
.Range("A:A").Replace what:=wS.Cells(i, "A"), replacement:="#", lookat:=xlPart
Next i
'「#」が含まれている行をmyRngに格納し、一気に削除//
Set myFound = .Range("A:A").Find(what:="#", LookIn:=xlValues, lookat:=xlPart)
If Not myFound Is Nothing Then
Set myFirst = myFound
Set myRng = myFound
Do
Set myFound = .Range("A:A").FindNext(after:=myFound)
If myFound.Address = myFirst.Address Then Exit Do
Set myRng = Union(myRng, myFound)
Loop
myRng.EntireRow.Delete shift:=xlUp
End If
End With
End Sub
こんな感じではどうでしょうか?m(_ _)m
No.2
- 回答日時:
実際には、マクロであっても、なくても構わないと思いますが、基本的には簡単なマクロです。
仕組みは、
オートフィルターを掛ける→該当する言葉を1列から探す→それらを見えている範囲を選択する→削除
>特定の単語(札幌市、青森市、仙台市、等など)を
この場合は、「市」ですが、なかなか、そうはいかないのかもしれません。
検索する語そのものが、複数ある場合は、また、更にマクロのコードが加わりますので、その時は、ご相談ください。また、条件としては、オートフィルターが掛けられるような表の形態(四角形のデータ群)になっていることです。時々、そういう状態でない方の相談があり、マクロは動きませんでした、ということがます。
'//
Sub FoundWordDelRow()
Dim FirstCell As Range
Dim Rng As Range
Dim r As Range
Dim r2 As Range
Dim Crit1 As String
Set FirstCell = Range("A1")
Crit1 = "*あ*" 'センテンス中では、必ず、「*」を入れること
With ActiveSheet
If .AutoFilterMode Then
.AutoFilterMode = False
End If
FirstCell.CurrentRegion.AutoFilter _
Field:=1, Criteria1:="=" & Crit1
With .AutoFilter.Range
Set r = .Offset(1).Resize(.Rows.Count - 1) '項目行を保護するため
End With
On Error Resume Next
Set r2 = r.SpecialCells(xlCellTypeVisible)
If Err() <> 0 Then
Set r2 = Nothing
End If
On Error GoTo 0
.AutoFilterMode = False
If Not r2 Is Nothing Then
r2.Delete (xlShiftUp)
Else
MsgBox "検索語の『" & Crit1 & "』は見つかりませんでした。"
End If
End With
End Sub
'///
この回答へのお礼
お礼日時:2015/07/14 12:57
回答ありがとうございます。
オートフィルターは試してみたのですが、私の思うもの
とちょっと違っていたので、マクロで解決したいなと思っ
いました。
上記の方法も、試してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) 【Excel】住所に郵便番号を付記する方法 3 2022/05/07 17:15
- Excel(エクセル) VBA 指定した列にある日時データから時間を削除する方法について 4 2022/04/14 11:17
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- その他(パソコン・スマホ・電化製品) Googleカレンダーで不要データを一括削除したい 1 2023/08/02 12:42
- Excel(エクセル) エクセルVBA 複数行にまたがっている選択を判定するには 2 2023/05/21 21:54
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/07/13 12:31
- フリーソフト テキストファイルの一括置換で除外したい文字があります。 2 2022/06/21 17:53
- Excel(エクセル) VBA 文字列変換と指定した列にある日時データから時間を削除する方法について 2 2022/04/14 15:23
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
ExcelVBAでPDFを閉じるソース
-
Excel VBAからAccessマクロを実...
-
エクセルのマクロについて教え...
-
エクセルで別のセルにあるふり...
-
Word VBA 表中の空白行を削除す...
-
サクラエディタ・マクロ → VSCo...
-
■EXCELの表で一行おきに行削除...
-
Excelマクロで印刷設定
-
特定のPCだけ動作しないVBAマク...
-
テニス(ダブルス)乱数表 Exc...
-
マクロのクリア設定がシートの...
-
レポートで空データ時に印刷しない
-
OnTimeを使ったのですが「エラ...
-
VBAで離れたセルの値を一括で代...
-
エクセルでリンク元の名前って...
-
Windows2000でのマクロの起動
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
ExcelVBAでPDFを閉じるソース
-
エクセルに張り付けた写真のフ...
-
EXCELのVBAでRange("A1:C4")を...
-
エクセルで別のセルにあるふり...
-
ソース内の行末に\\
-
マクロ実行時、ユーザーフォー...
-
特定文字のある行の前に空白行...
-
エクセルVBA
-
マクロの記録を使用したマクロ...
-
wordを起動した際に特定のペー...
-
ダブルクリックで貼り付けた画...
おすすめ情報