字符串比较VBA

时间:2017-01-18 13:18:21

标签: excel-vba string-comparison vba excel

我正在尝试完成范围与其左侧单元格之间的字符串比较。所以它通过一个范围,查看一个单元格,将值向右移动并比较它们。最终目标是使用匹配的所有值填充数组。

我遇到的问题是当我使用debug.print时,字符串似乎匹配。但是我正在使用的StrComp评估是评估为false。

Sub FilterProdType()
'Get the product filter chosen and set to a variable
Dim bArray As Variant
Dim search, cell As Range
Dim prod, item As String
Set search = Sheet2.Range("B2:B41")


For Each cell In search
    prod = Sheet1.Range("PRODTYPE").Value
    item = cell.Offset(0, 1).Value
    Debug.Print ("Value in range 'B2:B41':" & prod)
    Debug.Print ("Value in cell directly left one column:" & item)
    MsgBox StrComp(item, prod) = 0
Next cell
End Sub

提前致谢!

1 个答案:

答案 0 :(得分:0)

在我看来,您将itemStringprod作为Variant进行比较,因为您在变量声明中造成了混淆。

你会添加

吗?
Option Explicit

在顶部,您是否会看到您的代码需要

Dim search As Range, cell As Range
Dim prod As String, item As String

...这是Excel-VBA,而不是VB。

希望它有所帮助。