gpt4 book ai didi

vba - (VBA) Excel : action if content in two columns is matching

转载 作者:行者123 更新时间:2023-12-04 22:08:11 25 4
gpt4 key购买 nike

一张图抵得上一千个字,所以为了清楚起见,这里有一张图来说明情况:
enter image description here

所以我在 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”之外的所有内容)
enter image description here
2/使用公式......同样的问题。
enter image description here

最佳答案

I want my method probaCity() to look for matches between these two columns. If there is a match, I want it to display some value (10 for example) in the corresponding row of the G column (in the array "Probablity of being the city"), if no match, then it's gonna be 0.



无需为此使用 VBA。

看这个例子

使用此数组公式。输入公式后必须按 CTRL+SHIFT+ENTER
=IF(COUNT(FIND($C$9:$C$11,A1)),"10","")

截图

enter image description here

编辑 : 既然你想要一个 VBA 方法,试试这个。

VBA 方法(这将根据您的原始帖子处理示例数据)
Sub Sample()
Dim ws As Worksheet
Dim LookUpRange As Range
Dim lRow As Long

'~~> Change this to the relevant sheet
Set ws = ThisWorkbook.Sheets("Sheet1")

With ws
'~~> This is your city list
Set LookUpRange = .Range("G21:G25")

lRow = .Range("C" & .Rows.Count).End(xlUp).Row

For i = 2 To lRow
.Range("G" & i).Value = Application.Evaluate("=IF(COUNT(FIND(" & _
LookUpRange.Address & _
"," & .Range("C" & i).Address & ")),""10"",""0"")")
Next i
End With
End Sub

关于vba - (VBA) Excel : action if content in two columns is matching,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16078536/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com