Как макросом из ячейки Excel вытащить число?

Программирование на Visual Basic for Applications
Franck
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 09.04.2004 (Пт) 12:21

Как макросом из ячейки Excel вытащить число?

Сообщение Franck » 09.04.2004 (Пт) 13:10

Есть файл с огромным количеством ячеек, с текстом типа "Снят с про-ва 100 кг" (текст разный). Нужно или макросом или функцией вытащить из ячейки только число (ну, 100, например). Можно ли это сделать покрасивше и как? Вручную очень долго обрабатывать.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.04.2004 (Пт) 13:13

Дай образец текста, хотя бы десятка два элементов (по возможности разных), тогда можно подумать, как лучше сделать.
Lasciate ogni speranza, voi ch'entrate.

Calvin
Постоялец
Постоялец
 
Сообщения: 409
Зарегистрирован: 21.01.2003 (Вт) 12:13
Откуда: Sebastopol

Сообщение Calvin » 09.04.2004 (Пт) 16:09

Ну если в ячейках нет других чисел, кроме тех, которые нужно изъять, то можно сделать так:
(это только посимвольный "перебор" начального значения ячейки)
Код: Выделить всё
Strperem = "Снят с про-ва 100 кг"
For i = 1 To Len(Strperem)
    If IsNumeric(Mid(Strperem, i, 1)) = True Then
    s = s + Mid(Strperem, i, 1)
    End If
Next
d = Val(s)

2Franck не за что - рад что помог :wink:
Последний раз редактировалось Calvin 09.04.2004 (Пт) 17:26, всего редактировалось 1 раз.
-Whose the motocycle, is this? -It`s a chopper, baby! -Whose chopper is this? -Zed`s! -Who is Zed? -Zed`s dead, baby, Zed`s dead! :-D

Franck
Начинающий
Начинающий
 
Сообщения: 12
Зарегистрирован: 09.04.2004 (Пт) 12:21

Сообщение Franck » 09.04.2004 (Пт) 16:46

To Calvin
Спасибо огромное! Получилась чудная функция:
Код: Выделить всё
Function StrNumber(Strperem As Variant)

  For i = 1 To Len(Strperem)
    If IsNumeric(Mid(Strperem, i, 1)) = True Then
    s = s + Mid(Strperem, i, 1)
  End If
Next
StrNumber = Val(s)
End Function


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 80

    TopList