我很抱歉,如果我完全误解了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
FromStrComp
docs:
如果 | StrComp返回 | string1不如string2相等 | 1 |
---|---|
string1=string2相等 | 0 |
string1>string2相等 | 1 |
string1或string2相等是空 | 空 |