基于部分字符串的搜索范围以匹配未知的工作表名称

问题描述 投票:0回答:1

我感觉我很亲近,但我无法理解。我想做的是:在MonthlyData .Find单元格中,可能与图纸名称部分匹配。但是,我将不知道工作簿正常工作中的工作表名称,并且我假设其他用户可以在MonthlyData字段中键入部分名称。有人可以帮忙吗?预先感谢。

Sub GetData()

Dim Data As Worksheet, WkSh As Worksheet
Set Data = ThisWorkbook.Worksheets("Data")


Dim TITLE As Range, MktPlace As Range, NetUnitsSold As Range, MonthlyData As Range
Set MonthlyData = Data.Range("A1:M500")
Set TITLE = MonthlyData.Columns("A")
Set MktPlace = MonthlyData.Columns("D")
Set NetUnitsSold = MonthlyData.Columns("G")

With MonthlyData.Cells
 .Find(what:=WkSh.Name, LookIn:=xlValues, lookat:=xlPart, MatchCase:=False)

End With

End Sub
excel vba dynamic match string-matching
1个回答
0
投票

我会使用for循环。这是一个主意:

dim r as range
dim result as string

for each r in monthlycells
    if lcase(wksh.name) like "*" & lcase(r.value2) & "*" then
        result = r.value2
    end if
next

注意:like operator区分大小写。

© www.soinside.com 2019 - 2024. All rights reserved.