我几周来一直在努力创建一个循环遍历文本行的宏,并通过底层组件识别可变文本短语以对产品进行排序。该文本短语将位于页面的不同位置或与多个其他变量链接。例如,列表中有多少产品包含“皮革”,并在列表旁边的答案行中标识具有定义的短语,如“绝对”。我一直在使用的代码如下:
Sub Find()
Dim Sheet As Worksheet
Dim rng As Range
Dim row As Range
Dim cell As Range
Set Sheet = ActiveSheet
Set rng = Sheet.Range("E2:J7")
For Each row In rng.Rows
For Each cell In row.Cells
Select Case cell.Value
Case "Oil"
Case "Leather"
Cells(row.row, 11).Value = "Absolutely"
Case "Absolutely"
Case "Nope"
Case Else
Cells(row.row, 11).Value = "Nope"
End Select
Next cell
Next row
End Sub
表格看起来如下:
目前,代码运行正确的行并查看所有组件但无法识别答案行中的答案。我正在使用此代码来确定许多产品列表中的许多可变组件,而“皮革”和“油”目前只是占位符。希望这将有助于我和许多其他人避免阅读长长的数据列表,并单独标记每个项目是否符合某个定义的标准。
答案 0 :(得分:0)
这必须是VBA吗?您可以使用COUNTIF function轻松完成此操作。使用您提供的样本数据,在单元格D10中使用此公式并复制:
=IF(C10="","",IF(COUNTIF($2:$7,C10)>0,"Absolutely","Nope"))