![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Заблокирован
Регистрация: 08.08.2010
Сообщений: 41
|
![]()
Как узнать, есть ли в заданном диапазоне буквы.
Пример моего кода (привожу отрывок из кода): Код:
Вообще, смысл кода в чём? В том, чтобы просмотреть ячейки всех таблиц в документе (я как всегда косячу - в данном случае приведён пример для одной таблицы), и если там есть только цифры, то сделать определённое действие. На др. форумах я нашёл решение этой проблемы, но вчера столкнулся с цифрами, разделёнными точками и запятыми, и эти цифры уже не считаются за цифры. Последний раз редактировалось CyberMen; 10.08.2010 в 20:58. |
![]() |
![]() |
![]() |
#2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Нужно действовать поиском с помощью подстановочных знаков.
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#3 |
Заблокирован
Регистрация: 08.08.2010
Сообщений: 41
|
![]()
viter.alex
а типа функции instr - нет ничего поменьше, да по-проще? Это получается ты предлагаешь: Код:
А вот как-то ещё функции можно делать (есть процедуры, а есть функции) - в них не будет быстрее? Т.е. я в функцию помещаю myRange. Функция определяет, есть ли там буквы, и возвращает (раздражает это слово) True или False. Я просто функции ещё ни разу не делал. Последний раз редактировалось CyberMen; 10.08.2010 в 21:29. |
![]() |
![]() |
![]() |
#4 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Нет, я предлагаю искать сразу по всей таблице.
Код:
Хотя можно и перебором, только лучше использовать Do…Loop, а не For Each, для увеличения быстродействия Код:
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#5 |
Заблокирован
Регистрация: 08.08.2010
Сообщений: 41
|
![]()
Вот такое решение нашёл благодаря Replace. Сам бы наверное если и догадался об этом, то очень не скоро:
Код:
viter.alex Не понятно только, зачем точку менять на запятую. |
![]() |
![]() |
![]() |
#6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Затем, что работа функции IsNumeric зависит от принятого в системе десятичного разделителя (задаётся в панели управления). По умолчанию, в русской операционной системе используется запятая, поэтому число вида "25.3" не будет признано числом.
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#7 |
Заблокирован
Регистрация: 08.08.2010
Сообщений: 41
|
![]()
viter.alex
да, я уже в курсе, мне на др. форуме объяснили. Просто в моём случае встречались 2 и 3 точки (запятые) в одном числе и это уже не воспринималось, как число. Вот сейчас думаю, а если по ошибке в цифре будут и точки и запятые, что тогда делать? |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Есть ли способ узнать, кто вызвал скрипт? | motorway | PHP | 5 | 08.07.2009 09:16 |
Как проверить активность IP в заданом диапазоне | SeRhy | Работа с сетью в Delphi | 2 | 17.03.2009 23:59 |
как найти первую заполненную ячейку в диапазоне | Bezdar | Microsoft Office Excel | 3 | 19.02.2009 11:59 |
Есть список доменных машин. Узнать кто залогинен. | luckyfuck | Общие вопросы Delphi | 2 | 05.11.2008 15:12 |
как найти данные в диапазоне | Tanya2007 | Microsoft Office Excel | 2 | 20.11.2007 19:33 |