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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 16.11.2008, 23:32   #1
belikk
 
Регистрация: 02.11.2008
Сообщений: 8
По умолчанию выделение чмсел из строки

Подскажите, пожалуйста, можно ли выделить число, если оно стоит среди букв? Например, если в ячейку забито "абвгд9ежз", можно ли какой-либо функцией выделить цифру девять?
Заранее спасибо!
belikk вне форума
Старый 17.11.2008, 05:20   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Выделите ячейки, и запустите макрос Test

Код:
Sub BoldingDigits(ByRef celll As Range)
    For i = 1 To celll.Characters.count
        letter = celll.Characters(start:=i, Length:=1).Text
        celll.Characters(start:=i, Length:=1).Font.Bold = IsNumeric(letter)
    Next
End Sub


Sub test()
    Dim ce As Range
    For Each ce In Selection.Cells
        BoldingDigits ce
    Next
End Sub
EducatedFool вне форума
Старый 17.11.2008, 10:55   #3
belikk
 
Регистрация: 02.11.2008
Сообщений: 8
По умолчанию

спасибо! А нельзя ли сделать так, чтобы какая-либо функция или макрос возвращали найденную цифру.То есть чтобы из "абвгд9ежз" возвращалась цифра только 9, и чтобы потом можно было построить график?
belikk вне форума
Старый 17.11.2008, 11:18   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Код:
Function GetFirstNumeric(ByVal str As String) As String ' возвращает первую цифру, содержащуюся в строке
    GetFirstNumeric = "": If Not str Like "*#*" Then Exit Function
    For i = 1 To Len(str)
        letter = Mid$(str, i, 1): If IsNumeric(letter) Then GetFirstNumeric = letter: Exit Function
    Next i
End Function
Function GetAllNumeric(ByVal str As String) As String ' возвращает ВСЕ цифры, содержащиеся в строке
    GetAllNumeric = "": If Not str Like "*#*" Then Exit Function
    For i = 1 To Len(str)
        letter = Mid$(str, i, 1): If IsNumeric(letter) Then GetAllNumeric = GetAllNumeric & letter
    Next i
End Function


Sub test2()
MsgBox GetFirstNumeric("sd345fdsf")
MsgBox GetAllNumeric("sd45fds89f4")
End Sub

Sub test3()
[a1] = "ert12ert56ert5"
[b1] = GetFirstNumeric([a1])
[c1] = GetAllNumeric([a1])
End Sub
EducatedFool вне форума
Старый 17.11.2008, 11:38   #5
belikk
 
Регистрация: 02.11.2008
Сообщений: 8
Хорошо

Спасибо большое!!!!!!!!
belikk вне форума
Старый 19.11.2008, 17:15   #6
Anton Zh
Новичок
Джуниор
 
Регистрация: 18.11.2008
Сообщений: 1
По умолчанию

А ещё можно и так:

{=MID(A1,MATCH(0,(ISERR(MID(A1,ROW( INDIRECT("1:"&LEN(A1))),1)*1)*1),0) ,LEN(A1)-SUM((ISERR(MID(A1,ROW(INDIRECT("1:" &LEN(A1))),1)*1)*1)))}

работает в том случае, если цифры идут подряд, напр. gfweilgh873786jhdflkh
Anton Zh вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CheckListBox Програмное выделение строки Yuran Общие вопросы Delphi 3 01.08.2008 15:44
Выделение слов из строки // Pascal Rifler Паскаль, Turbo Pascal, PascalABC.NET 4 02.07.2008 08:22
Выделение строки (canvas) в StringGrid elfo Помощь студентам 1 24.06.2008 12:12
считать из файла две строки, вывести на экран символы первой строки, которые отсутствуют во второй gotex Помощь студентам 4 08.05.2008 02:27
Выделение одной строки из двух одинаковых REMove Microsoft Office Excel 2 15.12.2007 16:03