Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Удалить лишнее из текста по условию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Удалить лишнее из текста по условию
Gjlhzl Дата: Вторник, 14.11.2023, 15:44 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 0 ±
Замечаний: 0% ±

Макросом удаляю из текста лишнее..
[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/ Пример .... оставляет "Пример", но попадаются строки где
текст начинается со слова ... удаляет тоже до первого пробела то есть первое слово тоже удаляется....
нужно прикрутить условие к макросу - если значение начинается с текста то не удаляет ничего, если с числа то удаляет все до первого пробела
К сообщению приложен файл: kniga1.xlsb (19.8 Kb)
 
Ответить
СообщениеМакросом удаляю из текста лишнее..
[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
Дата добавления - 14.11.2023 в 15:44
Nic70y Дата: Вторник, 14.11.2023, 16:24 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8998
Репутация: 2366 ±
Замечаний: 0% ±

Excel 2010
почему "то что нужно"
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]


ЮMoney 41001841029809

Сообщение отредактировал Nic70y - Вторник, 14.11.2023, 16:29
 
Ответить
Сообщениепочему "то что нужно"
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]

Автор - Nic70y
Дата добавления - 14.11.2023 в 16:24
Gjlhzl Дата: Вторник, 14.11.2023, 16:48 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 0 ±
Замечаний: 0% ±

Nic70y, да извиняюсь ...спутал в примере
ща проверю...уверен что все нормуль -Спасибо!
 
Ответить
СообщениеNic70y, да извиняюсь ...спутал в примере
ща проверю...уверен что все нормуль -Спасибо!

Автор - Gjlhzl
Дата добавления - 14.11.2023 в 16:48
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!