Я считаю, что у меня возникают проблемы с InStr.Excel InStr не соответствует
У меня есть цикл for, цикл через кучу значений и правильное завершение, когда ячейка содержит «-».
Однако, если ячейка содержит текст, который может быть найден в диапазоне («A2»), то я хочу, чтобы он выдавал его значение в Range («A5»).
Private Sub CommandButton21_Click()
Dim cell As Range
For Each cell In Sheets(1).Range("$B:$B")
Dim i As Long
i = cell.Row + i
If InStr(1, cell.Text, Range("A2").Text, vbTextCompare) Then Range("A5").Value = cell.Text
If cell.Text = "--" Then Exit For
Next cell
End Sub
Не знаю, почему этот вид сравнения не удается.
Как я понимаю ваш рассказ, вы перевернули параметры * Search For * и * Within Text *. Параметры VBA 'InStr' - это противоположный порядок работы« Найти »или« Поиск ». – Jeeped
Я также хотел бы подтвердить, что вы знаете, о чем вы просите. Свойством '.Text' диапазона (aka * cell *) является отображаемый текст и зависит от форматирования ячейки. Ячейка с '= TODAY()' отформатирована как * dd-mmm-yyyy * даст '.Text' от 25 февраля 2015 года' .Value' от 02/25/2015 и '.Value2' 42060 – Jeeped
pardon, если я ошибаюсь, но я думаю, что 'dim i' должен быть вне цикла' for each' – bsapaka