InStr函数-输入搜索参数

时间:2019-03-19 08:48:17

标签: excel vba

我正在宏中使用以下str函数来查找字符串,如果找到匹配项,则删除整行。

If InStr(.Value, "@@@") = 0 Then .EntireRow.Delete

我的问题如下:是否可以从单元格位置输入搜索模式,例如,代替硬编码"@@@"作为宏中的搜索词,我希望搜索词来自{ {1}}的单元格Sheet1。 我尝试使用文本字符串如下,但是它删除了所有内容

A1

2 个答案:

答案 0 :(得分:0)

只需使用term = Worksheets("Sheet1").Cells(1, 1).Value

Sheets集合还包含图表等,因此最好使用worksheets IMO。

此外,请勿使用Select,因为这是不好的做法(Avoid using SELECT or ACTIVATE

答案 1 :(得分:0)

您可以尝试以下操作:

Option Explicit

Sub test()

    With ThisWorkbook.Worksheets("Sheet1")

        If InStr(1, .Range("A1").Value, "@@@") = 0 Then
            .Rows(1).EntireRow.Delete
        End If

    End With

End Sub

注意::如果您打算循环播放,并且如果条件满足,则删除该行,则必须从下到上循环播放。