Сравнение строк VBA
Я пытаюсь выполнить сравнение строк между диапазоном и ячейками слева от него. Таким образом, он проходит через диапазон, смотрит на ячейку, берет значение вправо и сравнивает их. Конечная цель - заполнить массив всеми совпадающими значениями.
Проблема, с которой я сталкиваюсь, заключается в том, что при использовании debug.print строка действительно совпадает. Однако оценка StrComp, которую я использую, оценивается как ложная.
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 ответ
Мне кажется, что вы сравниваете item
как String
с prod
как Variant
потому что вы сделали путаницу в объявлении переменных.
Не могли бы вы добавить
Option Explicit
вверху, вы увидите, что ваш код требует
Dim search As Range, cell As Range
Dim prod As String, item As String
... Это Excel-VBA, а не VB.
Надеюсь, поможет.