清除搜索值任一侧的单元格内容(不删除行)

时间:2016-09-02 23:56:17

标签: excel excel-vba macros vba

这是我在这个论坛上发布的第一个问题,请耐心等待。我对Excel VBA没有超级经验。但我正在努力学习。

我正在尝试创建一个宏来搜索整个工作表(或活动的已用区域),查找具有指定值的单元格,并清除该单元格的内容以及该单元格两侧的单元格。

我正在使用一个以空格分隔的导入文本文件,并且在报告中的每个条目的末尾都有一个我不想在最终产品中使用的标记行。由于我导入的文本文档的性质(我无法控制),我搜索的单元格可以在任何列中。

我已经在这些论坛上讨论了一段时间了,我似乎无法找到问题的答案。

示例将在一个句子中,每个单词位于不同的单元格中(并且不一定在同一行):

  约翰喜欢和他的狗一起散步。

我想创建一个搜索单词"他的"并清除任一侧的单元格内容,以便现在可以读取句子:

  

John喜欢走路

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:-1)

Sub Scan_For_Footer()
Dim rngTotal As Range, cl As Range
Const FooterText = "text to look for"
ActiveSheet.Range("A1").Select
Set rngTotal = ActiveSheet.Range("A1").CurrentRegion
rngTotal.Select ' this is just to show the region that is selected.  Once you're happy, delete it
For Each cl In rngTotal
    If cl.Text = FooterText Then
        cl.Offset(0, -1).Clear
        cl.Clear
        cl.Offset(0, 1).Clear
    End If
Next cl
End Sub