A1からT1までの1000行と20列のExcel Sheet1があります。その範囲内の各セルには、通常 1 つまたは 2 つの単語が含まれています。Sheet2のA1列には、1000個の値のデータのリストがあります。
Sheet1のSheet2リストから単語を検索し、見つかったセルの値をクリアするVBAスクリプトに取り組んでいます。
Sheet1のA1列でのみ機能するVBAスクリプトがあり、行のみを削除します。スクリプトは次のとおりです。
Sub DeleteEmails()
Dim rList As Range
Dim rCrit As Range
With Worksheets("Sheet1")
.Range("A1").Insert shift:=xlDown: .Range("A1").Value = "Temp Header"
Set rList = .Range("A1", .Cells(Rows.Count, 1).End(xlUp))
End With
With Worksheets("Sheet2")
.Range("A1").Insert shift:=xlDown: .Range("A1").Value = "Temp Header"
Set rCrit = .Range("A1", .Cells(Rows.Count, 1).End(xlUp))
End With
rList.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=rCrit, Unique:=False
rList.Offset(1).SpecialCells(xlCellTypeVisible).Delete shift:=xlUp
Worksheets("Sheet1").ShowAllData
rList(1).Delete shift:=xlUp: rCrit(1).Delete shift:=xlUp
Set rList = Nothing: Set rCrit = Nothing
End Sub
誰でも私を助けることができますか?行を削除するのではなく、値をクリアする必要があります。これは、A1 だけでなく、シート 1 のすべての列で機能するはずです。