![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 30.03.2009
Сообщений: 39
|
![]()
Всех приветствую!
Необходимо в значении ячейки убрать все что находится после запятой (включая и ее саму), пишу вроде как все : curWS = Replace(Cells(i + 3, 1).Value, ", *", "", , , vbTextCompare) или без пробела curWS = Replace(Cells(i + 3, 1).Value, ",*", "", , , vbTextCompare) ничего не удаляется... ![]() содержимое ячейки примерно такое "-402.021, 8 " Подскажите пожалуйста где собака порылась... |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
А так не проще будет (пример):
Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 30.03.2009
Сообщений: 39
|
![]() |
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
msgbox(b(1))
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 30.03.2009
Сообщений: 39
|
![]()
искренне благодарен!
|
![]() |
![]() |
![]() |
#6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Собака порылась в строковых функциях.
Все, что до запятой: Код:
Код:
Использовать Split здесь, по-моему, не разумно. Как из пушки по воробьям
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Ну можно проверить на большом массиве, что быстрее будет. Я обычно, когда надо получить какую-то часть строки перед символом, пользуюсь Split (Explode)
|
![]() |
![]() |
![]() |
#8 | ||
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]() Цитата:
Цитата:
Все зависит от того, что нужно возвращать в случаях, если в просматриваемом диапазоне запятых несколько, или, например, нет ни одной. К сожалению, автор вопроса этого не оговаривает. Код с использованием функции Split несомненно, быстрее. Но если запятых нет, будет ошибка. Ее, конечно, можно отловить и вернуть требуемое значение. Если же запятых несколько, то результатом будет только то, что находится между 1-й и 2-й запятыми. Так что потребуется сцеплять элементы массива через запятую, начиная с 1-го (не 0-го). Что потребует дополнительного времени. Код от viter.alex, в случае, если есть хотя бы одна запятая, вернет все, что после первой запятой, не зависимо от того, есть ли они еще. В случае, если нет ни одной запятой, будет возвращена вся строка. Так нужно, или нет, знает только автор (но молчит). Вывод: пока мы не узнаем, какие возможны варианты исходных значений, и что делать в том или ином случае, говорить о том, какой из предложенных вариантов рациональнее, нельзя.
Чем шире угол зрения, тем он тупее.
|
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблема с рекурсивной функцией | world12_tk | Помощь студентам | 2 | 04.03.2009 20:57 |
Проблема с функцией замены... | dast | Microsoft Office Excel | 6 | 09.10.2008 20:30 |
проблема с функцией atoi | Darw1n | Общие вопросы C/C++ | 2 | 08.10.2008 23:21 |
codeblocks - проблема с функцией main() | хиппан | Общие вопросы C/C++ | 2 | 04.01.2008 19:41 |