- ベストアンサー
特定のキーワードのセルだけ空白にするマクロを教えてください。
URLが入ったセルが1000行くらいのシートの、ある特定のキーワードだけ(20キーワードくらい)を空白にして、なおかつURLの重複を省くマクロが書きたいのですが、どう書いたらいいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sheet1のA列にURLが1000行、Sheet2のA列にキーワードが20行登録されている場合の例を示します。 結果はSheet3に作成されます。 Private Sub CommandButton1_Click() Dim Row As Integer Dim i1 As Integer Dim i2 As Integer Dim i3 As Integer Dim p As Integer Dim n As Integer Dim S As String ' Sheet3のクリア Sheets("Sheet3").Cells.ClearContents Row = 0 For i1 = 1 To 1000 S = Sheets("Sheet1").Cells(i1, 1).Value ' キーワードの消去 For i2 = 1 To 20 n = Len(Sheets("Sheet2").Cells(i2, 1).Value) If n = 0 Then Exit For p = InStr(S, Sheets("Sheet2").Cells(i2, 1).Value) While p > 0 S = Left(S, p - 1) & Right(S, Len(S) - p + 1 - n) p = InStr(S, Sheets("Sheet2").Cells(i2, 1).Value) Wend Next i2 ' 重複判定 If Row > 0 Then For i3 = 1 To Row If S = Sheets("Sheet3").Cells(i3, 1).Value Then S = "" Exit For End If Next i3 End If ' 登録 If S <> "" Then Row = Row + 1 Sheets("Sheet3").Cells(Row, 1).Value = S End If Next i1 End Sub
その他の回答 (1)
- nag0720
- ベストアンサー率58% (1093/1860)
具体例を示してもらえませんか。
補足
ご連絡ありがとうございます。 藤岡です。 A列にhttp://hon.comとかのURLが1000個ぐらいある。 このセルの中で“ww”とか“rr”とかが入っている ものはいらない。 なので、そのセルそのものを空白にする。 URLは自動取得してきたものなので、http://hon.com が2つも3つもある場合がある。 それも1つだけしたい。 ・・・こんな感じです。 具体例になってますでしょうか? よろしくお願いします。
お礼
ありがとうございます! 試してみます!
補足
できました! ただ、これでsheet2のキーワードを消すだけでなく、 そのキーワードが入ったセルごと空白にできると嬉しい のですが…。