Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как выбрать цифровую часть артикула?
 
Подскажите пожалуйста функцию, которой можно вырезать цифровую часть артикула, имеющий вид 12345B или 12345A
 
Как-то так. Только эта функция выберет ВСЕ числовые символы и объединит в одну строку
Код
Function Art(aArt As String) As String
Dim L: L = Len(aArt)
Dim Dig As String
If L = 0 Then Exit Function
For I = 1 To L
Dig = Mid(aArt, I, 1)
If Dig Like "[0123456789]" Then Art = Art & Dig
Next I
End Function


 
ещё вариант
Код
Function art(s): art = Val(s): End Function
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Большое спасибо всем, решено!

МВТ, Вы не посмотрите в мою другую тему? :)
 
ikki, у меня почему-то выдает ошибку
 
МВТ, чем докажете? :)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, Да, кстати. подтверждаю - выдает ошибку #ССЫЛКА!
 
и в файле?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, в файле - нет. И в чем прикол?
 
понятия не имею.
я же ваши файлы не видел :)

но могу попытаться угадать.
например - вы могли назвать функцию art2 - чтобы её имя не конфликтовало в стандартном модуле с уже имеющимся.
и, т.обр., сделали имя функции похожим на адрес ячейки
такую функцию с листа вызвать нельзя
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, удивительно - но сама по себе функция работает, только при попытке вызвать её через ВПР(), начинает выдавать ошибку #Н/Д
 
ага, неисповедимы пути Господни...
не, про ВПР я угадывать не буду.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki, гениально - в точку!  
 
Евгений. Не артикул то ли с Логистики :) ?
 
с ВПР работает
Код
Public Function Digital(cell As Range)
With CreateObject("vbscript.regexp")
    .Global = True
    .Pattern = "[^\d,.]"
    Digital = CDbl(.Replace(cell, ""))
End With
End Function
Страницы: 1
Читают тему (гостей: 1)