Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.07.2009, 13:34   #1
SoFuWa
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 64
По умолчанию Сравнение текста InStr()

Использую такое сравнение If InStr(1, Sheets("www").Cells(i, 9).Value & " ", Sheets("qqq").Cells(q, 8).Value & " ", 0) Then

тут знак пробела используется для распознования конца слова, а нужно еще другие знаки вставить типа "," и "."

можно как нибудь записать это в одном выражении, что бы не вставлять еще несколько условий
SoFuWa вне форума Ответить с цитированием
Старый 22.07.2009, 13:44   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Использую такое сравнение...
Вам нужно сравнение, или именно поиск позиции вхождения подстроки в строку?
Если сравнение, то лучше использовать оператор "Like", который позволяет использовать множество спец. символов. Например:
Код:
If Sheets("www").Cells(i, 9) Like Sheets("qqq").Cells(q, 8) & "*" Then...
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 22.07.2009, 13:47   #3
SoFuWa
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 64
По умолчанию

Нужен поиск вхождения подстроки в строк, не так написал.

Нужно что бы например и пробел и запятая использовались как конец слова. В одном выражении может быть между словами пробел а в конце например запятая. Например:
В выражении ст.м. "Контрактовая площадь",
ищется "Контрактовая площадь"

В конце стоит запятая, а между словами пробел.
SoFuWa вне форума Ответить с цитированием
Старый 22.07.2009, 13:52   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Ну так предварительно поменяйте во всем диапазоне, например, запятые на пробелы и примените Application.Trim
P.S. Кстати, а если написано так: ст.м."Контрактовая площадь",
т.е. без пробела?
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 22.07.2009, 13:58   #5
SoFuWa
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 64
По умолчанию

Пробел находится между словом "Контрактовая" и словом "площадь", а мешает тут запятая в конце так как второе слово воспринимается как:

площадь",

пробел после запятой - конец слова.
а ищется:
площадь"

нужно что то типа InStr(1, Sheets("www").Cells(i, 9).Value & (" " Or ","), Sheets("qqq").Cells(q, 8).Value & " ", 0)

но такого синтаксиса нет =))

а как поменять запятые на пробелы? В самом файле ничего менять не надо. Это если сохранить ячейку в строку текста и работать с ней? Если можно поподробнее так как мало разбираюсь =(

Последний раз редактировалось SoFuWa; 22.07.2009 в 14:00.
SoFuWa вне форума Ответить с цитированием
Старый 22.07.2009, 14:14   #6
SoFuWa
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 64
По умолчанию

Напишите мне пожалуйста, как можно сохранить ячейку в переменную и удалить в ней все запятые , потому что после них всегда пробел, можно просто удалить.
SoFuWa вне форума Ответить с цитированием
Старый 22.07.2009, 14:24   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Пусть, например, требуется в строковой переменной txt получить значение ячейки "A1", убрав все запятые. Можно так:
Код:
txt = Replace([A1], ",", "")
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 22.07.2009, 14:38   #8
SoFuWa
Пользователь
 
Регистрация: 14.08.2008
Сообщений: 64
По умолчанию

всё работает
SoFuWa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сравнение текста SoFuWa Microsoft Office Excel 9 19.07.2009 00:38
C#: Сравнение дат Veiron Общие вопросы .NET 1 08.06.2009 23:32
Сравнение Instr(), Строчине и прописные буквы SoFuWa Microsoft Office Excel 2 30.05.2009 16:20
Поиск и сравнение vivarius Microsoft Office Excel 9 08.05.2009 12:14
Сравнение текста ??? KurtWagner Общие вопросы Delphi 2 20.01.2009 10:34