【发布时间】:2019-05-29 17:41:03
【问题描述】:
我在一个电子表格中有两个表格。两者都有相同的列 - 名称、城市、省。我的目标是比较两者,如果连续三个值中的三个匹配,则拉“是”,如果不是,则拉“否”。我将行与这两个表中的行(不是随机单元格)进行比较。
我还没有找到合适的公式,所以可能需要编写代码。
我找到了一个很好的代码,但它只适用于查看一个数组中的相同值。我希望它可以适应我的问题。或者也许我需要另一个。
Sub Compare()
Dim row As Integer
row = 2
Dim firstColumn As String
firstColumn = "H"
Dim lastColumn As String
lastColumn = "J"
Dim resultsColumn As String
resultsColumn = "M"
Dim isFoundText As String
isFoundText = "YES"
Dim isNotFoundText As String
isNotFoundText = "NO"
Do While Range("B" & row).Value <> ""
Dim startChar As Integer
startChar = Asc(firstColumn)
Dim endChar As Integer
endChar = Asc(lastColumn)
Dim i As Integer
Dim hasMatch As Boolean
hasMatch = False
For i = startChar To endChar
If Range(Chr(i) & row).Value = Range(Chr(i + 1) & row).Value Then
hasMatch = True
End If
If Range(Chr(startChar) & row).Value = Range(Chr(i + 1) & row).Value Then
hasMatch = True
End If
Next i
If (hasMatch) Then
Range(resultsColumn & row).Value = isFoundText
Else
Range(resultsColumn & row).Value = isNotFoundText
End If
row = row + 1
Loop
End Sub
【问题讨论】: