Excel循环通过单元格与vbTextCompare分配类别



我有一个电子表格,其中每行包含一个摘要列(列K)。我需要匹配摘要列中的某些单词,以便在新列(列V)中分配类别名称。

我试着用正常的excel If语句这样做,但我已经发现有一个限制。所以现在我试图使用以下VBA代码。

Public Function getCategory()
V_End_Of_Table = ActiveSheet.UsedRange.Rows.Count 'count the number of rows used'
Dim cell As Range

For Each cell In Range("K2:K" & V_End_Of_Table) 'loop through each row until end of table'

 If InStr(1, cell.Value, "Nationalities", vbTextCompare) > 0 Then
    Range("V" & V_End_Of_Table).Value = "Nationalities"
Else
    Range("V" & V_End_Of_Table).Value = "No Match Found"
End If
Next 'move onto next cell'
End Function

所以我尝试遍历每一行,匹配文本并分配值。就目前而言,我只得到#VALUE!返回。如果我改变

范围("V",V_End_Of_Table)。值

对话框

将返回正确的字符串

喜欢这个兄弟:

For Each cell In Range("K2:K" & V_End_Of_Table)
    If InStr(1, cell.Value, "Nationalities", vbTextCompare) > 0 Then
        Range("V" & cell.Row).Value = "Nationalities"
    Else
        Range("V" & cell.Row).Value = "No Match Found"
    End If
Next

代替InStr,可以使用StrComp函数来比较两个单词

相关内容

  • 没有找到相关文章

最新更新