Страницы: 1
RSS
Отделение от текста в ячейке последнего элемента.
 
Здравствуйте уважаемые форумчане. Пожалуйста помогите макросом. Не нашел в поиске решение такого вопроса.
Есть столбец с текстовыми строками с разделителями через запятую и через запятую и пробел.
Нужно получить этот же столбец, но без последнего элемента в каждой строке. Пример в файле: Лист1 - дано, Лист2 - то, что хочется получить.
Благодарю.
 
Привет, LinkR
можно попробовать вот так
Код
Sub ertert()
Dim x, i&
With Range("A1", Cells(Rows.Count, 1).End(xlUp))
    x = .Value
    For i = 1 To UBound(x)
        x(i, 1) = Mid(x(i, 1), 1, InStrRev(x(i, 1), ",") - 1)
    Next i
    .Value = x
End With
End Sub
 
возможно так?
Код
=ПОДСТАВИТЬ(A1;ПРАВБ(A1;3);"")
Вполне такой нормальный кинжальчик. Процентов на 100
 
Или UDF:
Код
Function splt_$(r As Range, t$)
Application.Volatile
Dim x, i&, v&
x = Split(r.Value, t)
i = UBound(x) - 1
For v = 0 To i
    splt_ = splt_ & t & x(v)
Next
splt_ = Right(splt_, Len(splt_) - Len(t))
End Function
 
2 Китин:
Да, только там бывают на конце не только "шт", бывают "пар", "комплектов" ... и т.д. Множество наименований.

2 Nilem:
Не понял как воспользоваться этим макросом. Вообще в макросах не понимаю - уровень чайник.
 
SkyPro благодарю весьма! Сработал.
 
Можно и так.
=MID(A1;1;SEARCH("\";SUBSTITUTE(A1;",";"\";(LEN(A1)-LEN(SUBSTITUTE(A1;",";"")))))-1)
 
Цитата
только там бывают на конце не только "шт", бывают "пар", "комплектов" ... и т.д
а где про это в сказано было?и в примере нету.задачку то надо сформулировать нормально
Вполне такой нормальный кинжальчик. Процентов на 100
 
С извращением:
Код
MsgBox Left(ActiveCell, Len(ActiveCell) - Len(Split(ActiveCell, ",")(UBound(Split(ActiveCell, ",")))) - 1)
 
=ПОДСТАВИТЬ(A1;","&ПОДСТАВИТЬ(ПСТР(ПРАВСИМВ(","&ПОДСТАВИТЬ(A1;",";ПОВТОР(",";999));999*1);1;999);",";"");"")
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх