For...每个循环在找到第一个匹配后退出

问题描述 投票:0回答:1
我有一个测试子程序,它首先搜索其中包含“日期”一词的命名范围。然后,它应该在找到的命名范围中搜索第 (2) 列中 Cell.Text 中包含单词“Sunday”的所有单元格。但是,在找到第一个匹配项并执行所需的功能后,它会退出循环,不再搜索任何匹配项。

我尝试使用查找匹配项(“星期日”)、使用单元格的文本以及使用单元格的值“vbSunday”来搜索匹配项。两次尝试都以相同的方式结束,在找到第一个匹配项后退出循环。

这是我的代码:

Public Sub Test1() Dim NR As Name Dim CellCount As Integer Dim Cell As Range CellCount = 0 For Each NR In ThisWorkbook.Names 'Look at each named range within the workbook. If InStr(NR.Name, "Date") <> 0 Then 'Check the named range name contains specific text. For Each Cell In NR.RefersToRange.Columns(2).Cells If InStr(Cell.Text, "Sunday") = 1 Then CellCount = CellCount + 1 MsgBox (CellCount) Cell.EntireRow.Hidden = True Else Cell.EntireRow.Hidden = False End If Next Cell End If Next NR End Sub
任何帮助将不胜感激。

for-loop named-ranges instr
1个回答
0
投票
我在 VBS 中的下一个循环的底部没有看到“Next [object]”,只是“Next”。也许“下一个 NR”和“下一个单元格”应该只是“下一个”。

没有看到你的数据就不能说,真的。

InStr([text], [search], 1) 不区分大小写,顺便说一句,这应该是您问题的一部分。

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