Страницы: 1
RSS
Макрос - удалить текст до символа
 
Подскажите как сделать макрос...

Есть колонка с текстом вида...
'=MCC+EA10-1Q100:2
нужно удалить весь текст до знака "-" и включая этот знак чтобы получилось
1Q100:2
хотелось бы выделить нужные ячейки и чтобы отредактированный текст копировался в соседнюю колонку...

да..в некоторых колонках встречается два раза символ "-" нужно удалить только начиная с первого символа "-"
например
'=MCC+EA10-1Q100-X5:12
1Q100-X5:12
Цитата
Текст по столбцам, запишите макрорекодером
пример документа в приложении...

Спасибо :)  
Изменено: Oleksandr - 07.09.2017 17:12:46
 
Стандартную функцию - Текст по столбцам, запишите макрорекодером.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Цитата
как сделать макрос...
Код
Sub Tablica()
Dim i As Long
Dim iLastRow As Long
 iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  For i = 2 To iLastRow
    Cells(i, 2) = Split(Cells(i, 1), "-")(1)
  Next
End Sub
 
Цитата
Владимир написал:
Стандартную функцию - Текст по столбцам, запишите макрорекодером.
в некоторых колонках встречается два раза символ "-" нужно удалить только начиная с первого символа "-"
например
'=MCC+EA10-1Q100-X5:12
1Q100-X5:12

если использовать Текст по столбцам..то он воспринимает это как два разделителя...
а мне нужно удалить текст только с первого "-"
 
Кнопка цитирования не для ответа [МОДЕРАТОР]
Kuzmich, спасибо...но
в некоторых колонках встречается два раза символ "-" нужно удалить только начиная с первого символа "-"
например
'=MCC+EA10-1Q100-X5:12
1Q100-X5:12

а мне нужно удалить текст только с первого "-"
этот макрос удалит и вторую часть получится...
'=MCC+EA10-1Q100-X5:12
только 1Q100, а нужно 1Q100-X5:12  
 
У split() есть параметр на сколько частей делить - делите на две!
 
Код
Sub www()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        Cells(i, 1) = Mid(Cells(i, 1), InStr(1, Cells(i, 1), "-") + 1)
    Next
End Sub
Я сам - дурнее всякого примера! ...
 
Или как Игорь подсказал:
Код
Sub www()
    Dim i As Long
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        Cells(i, 1) = Split(Cells(i, 1), "-", 2)(1)
    Next
End Sub
Я сам - дурнее всякого примера! ...
 
Ура работает...!!!
Спасибо  :)
а можно чтобы макрос редактировал не исходные данные а копировал отредактированные данные в соседнюю колонку...
 
Да.
Код
Cells(i, 2) = Split(Cells(i, 1), "-", 2)(1)
Я сам - дурнее всякого примера! ...
 
Спасибо!!! Все работает как и хотелось!!!  :)  
 
Oleksandr, не жмите тупо на кнопку цитирования. Не для ответа она!
 
добрый день
Похожая ситуация : имеется выгрузка текста в  таблицу xls содержащий в столбце  G  пример текста:
Расчеты через ТУ 1027035510270314\RUS\BEREZOVSKIY\4\MAGAZIN FANTO по чеку 27.12.2019,1ZA5B0 по карте 619678++++++1192. ANP-5620 MCC5413
Язык VBA не знаю.  Обычно выкручивалась логической корректировкой аналогичных найденных макросов.  Этот не получается  :(
Помогите пожалуйста с макросом - удаление по столбцу G всех знаков СЛЕВА (может быть разное количество) до RUS    :)
Спасибо
 
 
UDF
Код
Function iRUS(cell As String) As String
Dim n As Integer
  n = InStr(1, cell, "RUS\")
  iRUS = Mid(cell, n)
End Function
 
Спасибо,
я это делала, но тогда получается запись в другую ячейку,
А мне нужно что бы в ЭТОМ ЖЕ СТРОЛБЦЕ текст сменился-переформатировался,
или что то еще при функциях не дорабатывала... ?
Страницы: 1
Наверх