首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试使用.Find搜索数组

尝试使用.Find搜索数组
EN

Stack Overflow用户
提问于 2018-02-23 17:54:53
回答 1查看 50关注 0票数 0

我目前正在尝试使用.Find来搜索以"K“开头的项目数组。如果存在匹配项,则继续筛选并删除该项。但是,我不确定.Find是否能够将数组合并到它的条件中。我考虑过使用For each和If,但代码会相当长。有没有人可以提供帮助或给出不同方法的建议?

代码语言:javascript
运行
复制
Dim ckFOH As Range
Dim Krange As Variant

Krange = Sheets("Master List").Range("G17:G" & Range("G17").End(xlDown).Row)

With Sheets("FOH")
    Set ckFOH = .Columns("Q").Find(What:=Krange, LookIn:=xlValues)

    If Not ckFOH Is Nothing Then
        .Rows("5").AutoFilter Field:=17, Criteria1:="=K*"
        .Range("A6:K" & Range("A6").End(xlDown).Row).SpecialCells(xlCellTypeVisible).EntireRow.Delete
    End If
End With
EN

回答 1

Stack Overflow用户

发布于 2018-02-23 18:19:03

Range对象的Find()方法接受其"What“参数的任何数据类型,但是如果您提供了一个Range (根据您的代码),甚至是一个一维数组,那么实际搜索的只是它的第一个元素

此外,根据您的描述,我相信您希望删除所有表"FOH“行,这些行在”主列表“列Q中找到任何实际的"K”值

因此,您可能希望使用AutoFilter()并直接对所有这些值过滤列q,提供一个数组作为Criteria1参数并激活其xlFilterValues运算符选项

根据以下代码(注释中有更多解释):

代码语言:javascript
运行
复制
Option Explicit

Sub main()
    Dim Krange As Variant

    With Sheets("Master List") 'reference wanted sheet
        Krange = Application.Transpose(.Range("G17", .Range("G17").End(xlDown)).Value) ' store referenced sheet column G values from row 17 down to last consecutive not empty cell - explicitly qualify ALL range references to referenced worksheet
    End With

    With Sheets("FOH") 'reference wanted sheet
        With .Range("Q5", .Cells(.Rows.Count, "Q").End(xlUp)) 'reference its column Q range from row 5 (header) to last not empty row
            .AutoFilter field:=1, Criteria1:=Krange, Operator:=xlFilterValues ' filtere referenec range on all 'Krange' array values
            If CBool(Application.Subtotal(103, .Cells)) > 1 Then .Resize(.Rows.Count - 1, .Columns.Count).Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete ' if any filtered cells other then header, thene delete their entire rows
        End With
        .AutoFilterMode = False
    End With
End Sub
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48945181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档