Страница 1 из 1

Как узнать, есть ли в заданном диапазоне буквы...

Добавлено: 10 авг 2010, 20:52
Busine2009
Как узнать, есть ли в заданном диапазоне буквы.
Пример моего кода (привожу отрывок из кода):

Код: Выделить всё

Set myRange = ActiveDocument.Range(Start:=0, End:=0)
    For Each oCell In Selection.Tables(1).Range.Cells
            myRange.SetRange Start:=oCell.Range.Start, End:=(oCell.Range.End - 1)
            If IsNumeric(myRange) = True Then
Как узнать, есть ли в диапазоне myRange буквы.
Вообще, смысл кода в чём? В том, чтобы просмотреть ячейки всех таблиц в документе (я как всегда косячу - в данном случае приведён пример для одной таблицы), и если там есть только цифры, то сделать определённое действие. На др. форумах я нашёл решение этой проблемы, но вчера столкнулся с цифрами, разделёнными точками и запятыми, и эти цифры уже не считаются за цифры.

Re: Как узнать, есть ли в заданном диапазоне буквы...

Добавлено: 13 авг 2010, 17:20
romanriddick
делаете Split(диапазон , "розделитель") , отделяете цифры от знаков , а потом уже isNumeric()

Re: Как узнать, есть ли в заданном диапазоне буквы...

Добавлено: 14 авг 2010, 08:12
Busine2009
romanriddick
Вот такое неожиданно простое решение нашёл на др. форумах - использование Replace. Сам бы наверное если и догадался об этом, то очень ‎не скоро:‎

Код: Выделить всё

If IsNumeric(myRange) = True Or IsNumeric(Replace(myRange, ",", "")) = True Or ‎IsNumeric(Replace(myRange, ".", "")) = True Then
В документе 192 таблицы – проверка была проведена за 2 минуты. Хорошая работа.‎