【发布时间】:2016-06-15 04:33:39
【问题描述】:
我正在尝试创建一个循环变量,该变量在字符串中查找字符串数组,如果找到匹配项,则将它们分配给组,但是,我不需要它是完全匹配的,只要源字符串是 LIKE 搜索字符串。下面贴出示例代码:
Sub add_Categories()
Dim rRange As Range, rCell As Range
Dim wSheet As Worksheet
Dim wSheetStart As Worksheet
Dim strText As String
Set wSheetStart = ActiveSheet
wSheetStart.AutoFilterMode = False
Set rRange = Range("B1", Range("B65536").End(xlUp))
Application.DisplayAlerts = False
With wSheetStart
For Each rCell In rRange
If rCell Like "*Apple*" Then rCell.Offset(0, 2) = "Grocery"
If rCell Like "*Orange*" Then rCell.Offset(0, 2) = "Grocery
If rCell Like "*Mop*" Then rCell.Offset(0, 2) = "Kitchen"
If rCell Like "*Broom*" Then rCell.Offset(0, 2) = "Kitchen"
'If rCell Like "*Shirt*" Then rCell.Offset(0, 2) = "Clothing"
'If rCell Like "*Pants*" Then rCell.Offset(0, 2) = "Clothing"
Next rCell
End With
With wSheetStart
'.AutoFilterMode = False
.Activate
End With
On Error GoTo 0
Application.DisplayAlerts = True
End Sub
上面的示例每个类别只有两个字符串,但实际上我有数百个字符串,将它们作为数组输入比为每个语句设置一行要容易得多。非常感谢任何帮助。
【问题讨论】:
-
不确定您是否知道,但您的代码在 Grocery 的第二个实例末尾缺少双引号。
-
如果您有这么多对产品和类别:将它们放在隐藏的工作表中而不是将它们硬编码在数组中不是更容易吗?