【问题标题】:how to use match case in excel VBA如何在excel VBA中使用匹配大小写
【发布时间】:2020-12-15 03:58:11
【问题描述】:

我有一个 VBA 代码可以从一组列和行中找到一个特定的数字 并返回一些值...(与我正在搜索的值相同的单元格的地址,它是第一列的日期时间)问题是我必须在搜索框中输入确切的值,如果我错过了数字我将没有结果....但是我在工作表中有一个数据和数字有 14 位,我们可以在 VBA 中使用匹配大小写,以便我们可以找到与搜索的值具有相同大小写的所有数字吗?

Sub findReport()
Dim srch As Double
Dim cl, Rng As Range
Dim ws1, ws2 As Worksheet
Dim u As Long
srch = InputBox("What number are you looking for?", "Search Term")
u = 1
Set ws1 = Sheet1
Set ws2 = Sheet2
Set Rng = ws1.Range("F12:O19")
For Each cl In Rng
        If cl.Value = srch Then
        ws2.Cells(u, 2).Value = cl.Address
        ws2.Cells(u, 1).Value = ws1.Cells(cl.Row, 5).Value

        u = u + 1
    End If
Next cl
End Sub

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    您可以使用Like 和通配符来测试部分匹配:

    If cl.Value Like "*" & srch & "*" Then
    

    【讨论】:

    • ++ 替代方式。 Instr 示例 If InStr(1, cl.Value, srch) > 0 Then
    • 似乎 Tim Williams 的第一个解决方案比 Siddharth Rout 的代码提供了更好的结果(它列出了第一张表中的所有数字作为查找结果)。尽管 Tim Williams 代码会忽略一些数字和不要在结果中显示它们......
    • 如果你没有得到你期望的结果,提供一些它不起作用的例子会很有用。
    • Tim Williams ...我是这个网站的新手,所以我不知道如何发布一些示例..我可以在这里发布图片吗?
    • 您可以使用用户输入示例和应该匹配但不匹配的单元格值来编辑您的问题。
    猜你喜欢
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多