0
我写过一些代码来比较同一工作表中的两个字符串。代码应检查列b中的字符串是否出现在列a中的任何位置。如果字符串出现在列a中,则返回值为'是'。如果字符串不存在,则应返回“否”。字符串的一个例子是'SR03SN56'SR和SN将始终存在,只有数值会改变。我写的代码总是返回'是'或'否',而不管该字符串是否存在于列a中。我不知道为什么,虽然我有一种感觉,那就是我使用strcmp函数。任何帮助深表感谢。Excel vba比较2个字母数字字符串
Public Sub NameLater()
Dim colA As String, colB As String
Dim LastRowA As Integer, LastRowB As Integer, i As Integer, j As Integer
Dim Comparison As Integer
Dim Result As String
With ActiveSheet
LastRowA = .Cells(.Rows.Count, "A").End(xlUp).Row
End With
With ActiveSheet
LastRowB = .Cells(.Rows.Count, "B").End(xlUp).Row
End With
For i = 1 To LastRowA
For j = 2 To LastRowB
colA = Range("A" & i).Value
colB = Range("B" & j).Value
Comparison = StrComp(colA, colB, 1)
If Comparison = 1 Then Result = "Yes"
If Comparison = 0 Then Result = "No"
If Comparison = -1 Then Result = "No"
Sheet2.Range("H" & j).Value = Result
Next j
Next i
End Sub
我需要将答案返回到一个单独的工作表中,并且还需要在按下一个按钮时完成所有工作,因为此电子表格的用户在Excel中是新手。 – Rookie2145
您可以在不同的工作表中移动公式,并创建一个vba,而不是在第二个工作表中为第一个工作表的相同行号插入公式 –