我想比较两个字符串,但是,函数返回错误匹配。我厌倦了使用三种不同的方法,并将不同列中的每种方法的结果发布到测试中。我厌倦了使用“string1”=“string2”,instr()和strcomp()进行比较。VBA Excel Instr()StrComp()不能正常工作
当使用相同的两个字符串时,它们甚至不会为每种方法返回相同的结果;有时候一种比较是正确的,而另一些可能不是。
误报,INSTR()返回的位置上,但子是不是在目标串,STRCOMP()返回0但话是不一样的,而“字符串1” =字符串2" 是真实的,但字符串是不同。
Worksheets("hemo").Cells(f, 1) = Trim(Worksheets(Stabv).Cells(Count, 1))
Worksheets("hemo").Cells(f, 2) = Len(Trim(Worksheets(Stabv).Cells(Count, 1)))
Worksheets("hemo").Cells(f, 3) = Trim(LitBaseArray(y))
Worksheets("hemo").Cells(f, 4) = Len(Trim(LitBaseArray(y)))
scrapeString1 = Trim(Worksheets(Stabv).Cells(Count, 1))
scrapeString2 = Trim(LitBaseArray(y))
If scrapeString1 = scrapeString2 Then
Worksheets("hemo").Cells(f, 5) = "true"
End If
If StrComp(Trim(scrapeString1), Trim(scrapeString2), vbTextCompare) = 0 Then
Worksheets("hemo").Cells(f, 6) = "true " & StrComp(Trim(scrapeString1), Trim(scrapeString2), vbTextCompare)
End If
If InStr(1, Trim(scrapeString1), Trim(scrapeString2), vbTextCompare) > 0 Then
Worksheets("hemo").Cells(f, 7) = "true " & InStr(1, Trim(scrapeString1), Trim(scrapeString2), vbTextCompare)
End If
f = f + 1
你试过调试你的代码吗?调试时检查scrapeString1和scrapeString2的值。 – Mrig
不是答案,但您不必在'StrComp'和'InStr'中再次使用'TRIM',因为您已经使用'Trim'将值赋给'scrapeString1'&'scrapeString1'。 – Mrig
是的,我只是在尝试不同的事情。我甚至厌倦将单元格的内容放入一个字符串中。 – Padawan