VBA - "If Else"语句中的字符串比较,在 excel 中给我错误的输出



我很抱歉,如果我完全误解了StrComp的使用,我对VBA很陌生。我要做的是比较一个单元格与上面的单元格在excel中,检查它是否相同的字符串/文本。如果它是相同的,那么我想在excel中显示一个1来显示它的重复。如果不相等,则为0。然而,当它应该是0时,我似乎大多数时候都得到1。if else语句似乎不起作用。有人知道为什么会这样吗?

我试着把msgbox,看看如果我的行/列是错误的使用偏移量,但这似乎并非如此。我有一种感觉,我可能误解了StrComp的用法。

Option Compare Text 
Sub IF_Loop()    
Dim cell As Range    
Dim InputRng As Range, checkRng As Range
Set cell = ActiveCell    
Set InputRng = Application.Selection     
xTitleId = "duplicateSearch"
Set checkRng = Application.InputBox("Title search :", xTitleId, Type:=8)
Application.ScreenUpdating = False
For Each cell In checkRng.Columns(1).Cells    
If StrComp(cell.Value, cell.Offset(-1, 0)) Then    
cell.Offset(0, -2).Value = 1    
Else:    
cell.Offset(0, -2).Value = 0    
End If    
Next cell
End Sub

FromStrCompdocs:

tbody> <<tr>
如果 StrComp返回
string1不如string2相等1
string1=string2相等0
string1>string2相等1
string1string2相等

最新更新