一张图抵得上一千个字,所以为了清楚起见,这里有一张图来说明情况:
所以我在 C 列中有一些从C2到C16的内容(字符串和整数) 。我还有另一列 G 一些城市名称(字符串),从G21到G25。
这是我尝试做的事情:我希望我的方法 probaCity() 来查找这两列之间的匹配项。如果匹配,我希望它在 G 列的相应行(在数组“成为城市的概率”中)显示一些值(例如 10),如果不匹配,那么它将为 0。
因此,在单元格G13中,它应该写入 10,因为在数组的所有其他单元格中存在“Quezon”和 0 的匹配项。
这是我的代码:
Sub probaCity()
Dim count As Integer, myResult As Boolean
For count = 2 To lastRow
Range("C" & count).Activate
myResult = IsNumeric(Application.Match(ActiveCell.Value, Range("G21:G25"), 0))
If myResult = True Then
Range("G" & ActiveCell.Row).Value = Range("G" & ActiveCell.Row).Value + 0
Else
Range("G" & ActiveCell.Row).Value = Range("G" & ActiveCell.Row).Value + 10
End If
Next count
End Sub
此代码的问题是 myResult 返回的值始终为 false(因此我的数组中的所有内容都设置为 0)。
非常感谢你的帮助。
编辑:在尝试了一个建议后:
1/使用 VBA(适用于除“Quezon”之外的所有内容)
2/使用公式......同样的问题。