Sub Удалить-лишнее() With ActiveSheet For Each cl In Intersect(.Columns(2), .UsedRange) str_tmp$ = cl.Value cl.Value = Mid(str_tmp, InStr(1, str_tmp, " ") + 1) Next End With End Sub
[/vba] удаляет из текста все до первого пробела....когда текст начинается с "числа-1,2,3 и тд" - 1/ааа/а/3/ Пример .... оставляет "Пример", но попадаются строки где текст начинается со слова ... удаляет тоже до первого пробела то есть первое слово тоже удаляется.... нужно прикрутить условие к макросу - если значение начинается с текста то не удаляет ничего, если с числа то удаляет все до первого пробела
Макросом удаляю из текста лишнее.. [vba]
Код
Sub Удалить-лишнее() With ActiveSheet For Each cl In Intersect(.Columns(2), .UsedRange) str_tmp$ = cl.Value cl.Value = Mid(str_tmp, InStr(1, str_tmp, " ") + 1) Next End With End Sub
[/vba] удаляет из текста все до первого пробела....когда текст начинается с "числа-1,2,3 и тд" - 1/ааа/а/3/ Пример .... оставляет "Пример", но попадаются строки где текст начинается со слова ... удаляет тоже до первого пробела то есть первое слово тоже удаляется.... нужно прикрутить условие к макросу - если значение начинается с текста то не удаляет ничего, если с числа то удаляет все до первого пробелаGjlhzl
почему "то что нужно" 5 ВД-АК-034, а не 5 ГРУНТОВКА ВД-АК-034?
вдруг правильно [vba]
Код
Sub Удалить_лишнее_в_наименованиях_материалов() With ActiveSheet For Each cl In Intersect(.Columns(2), .UsedRange) str_tmp$ = cl.Value If IsNumeric(Left(str_tmp$, 1)) Then cl.Value = Mid(str_tmp, InStr(1, str_tmp, " ") + 1) End If Next End With End Sub
[/vba]
почему "то что нужно" 5 ВД-АК-034, а не 5 ГРУНТОВКА ВД-АК-034?
вдруг правильно [vba]
Код
Sub Удалить_лишнее_в_наименованиях_материалов() With ActiveSheet For Each cl In Intersect(.Columns(2), .UsedRange) str_tmp$ = cl.Value If IsNumeric(Left(str_tmp$, 1)) Then cl.Value = Mid(str_tmp, InStr(1, str_tmp, " ") + 1) End If Next End With End Sub