• ベストアンサー

特定のキーワードのセルだけ空白にするマクロを教えてください。

URLが入ったセルが1000行くらいのシートの、ある特定のキーワードだけ(20キーワードくらい)を空白にして、なおかつURLの重複を省くマクロが書きたいのですが、どう書いたらいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.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

noname#181401
質問者

お礼

ありがとうございます! 試してみます!

noname#181401
質問者

補足

できました! ただ、これでsheet2のキーワードを消すだけでなく、 そのキーワードが入ったセルごと空白にできると嬉しい のですが…。

その他の回答 (1)

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

具体例を示してもらえませんか。

noname#181401
質問者

補足

ご連絡ありがとうございます。 藤岡です。 A列にhttp://hon.comとかのURLが1000個ぐらいある。 このセルの中で“ww”とか“rr”とかが入っている ものはいらない。 なので、そのセルそのものを空白にする。 URLは自動取得してきたものなので、http://hon.com が2つも3つもある場合がある。 それも1つだけしたい。 ・・・こんな感じです。 具体例になってますでしょうか? よろしくお願いします。

関連するQ&A