我试图基于一系列单元格隐藏一个工作簿/工作表中的行 . 我需要查看范围中的每个单元格,并确定初始工作簿/工作表中单个单元格的字符串中是否存在匹配项 . 行范围包含国家/地区名称,如:
-
美利坚合众国
-
法国
-
安提瓜和巴布达
-
阿根廷
但要比较的单元格如下:
- 美利坚合众国,法国,安提瓜和巴布达
我试图研究并整理代码,但我真的不知道我在做什么 . 这就是我所拥有的 . 我确定问题是If语句 .
vwb.Activate
ActiveWorkbook.Sheets(tabName).Select
For Each c In vwb.Worksheets(tabName).Range("A121:A345").Text
If Application.WorksheetFunction.CountIf(InStr(1, twb.Worksheets("Basic_Info”).Range("COS"), c.Value)) Then
Else
vwb.Worksheets(tabName).Rows(c.Row).EntireRow.Hidden = True
End If
Next
2 回答
它比你所采取的路径简单得多(可能是混乱:)) .
如果您不理解此代码与您所做的有何不同,请参阅下文并提出任何问题:
如果您试图隐藏
COS
范围内找到匹配项的行,则这是一个示例框架 . 为了便于测试,我将twb更改为vwb . 如果你想隐藏在没有匹配的地方,那么使用InStr(1, c.Value, countriesArr(i, 1)) = 0