удаление символов средствами vba
DreOne
Дата: Четверг, 10.12.2015, 18:14 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Здравствуйте! Возникла проблема удаления символов. С 1С выгружаются номера счетов в столбце А такого типа: 0000-001578 0000-001579 0000-000875 0000-000790 Как кодом убрать символы слева до знака "-", включая этот знак и убрать нули, чтобы остались номера 1578,1579,875,790? Заранее спасибо.
Здравствуйте! Возникла проблема удаления символов. С 1С выгружаются номера счетов в столбце А такого типа: 0000-001578 0000-001579 0000-000875 0000-000790 Как кодом убрать символы слева до знака "-", включая этот знак и убрать нули, чтобы остались номера 1578,1579,875,790? Заранее спасибо. DreOne
Саморазвитие - это всё...
Ответить
Сообщение Здравствуйте! Возникла проблема удаления символов. С 1С выгружаются номера счетов в столбце А такого типа: 0000-001578 0000-001579 0000-000875 0000-000790 Как кодом убрать символы слева до знака "-", включая этот знак и убрать нули, чтобы остались номера 1578,1579,875,790? Заранее спасибо. Автор - DreOne Дата добавления - 10.12.2015 в 18:14
_Boroda_
Дата: Четверг, 10.12.2015, 18:23 |
Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16702
Репутация:
6499
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Обязательно кодом? Выделяете столбец А, жмете Контрл h, в найти "*-" без кавычек (звездочка тире), в заменить на - ничего. Это всё можно макрорекодером записать
Обязательно кодом? Выделяете столбец А, жмете Контрл h, в найти "*-" без кавычек (звездочка тире), в заменить на - ничего. Это всё можно макрорекодером записать _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Обязательно кодом? Выделяете столбец А, жмете Контрл h, в найти "*-" без кавычек (звездочка тире), в заменить на - ничего. Это всё можно макрорекодером записать Автор - _Boroda_ Дата добавления - 10.12.2015 в 18:23
DreOne
Дата: Четверг, 10.12.2015, 18:29 |
Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Да, так как это только часть всей задачи, для заполнения в дальнейшем бланка счетов.
Да, так как это только часть всей задачи, для заполнения в дальнейшем бланка счетов. DreOne
Саморазвитие - это всё...
Ответить
Сообщение Да, так как это только часть всей задачи, для заполнения в дальнейшем бланка счетов. Автор - DreOne Дата добавления - 10.12.2015 в 18:29
abtextime
Дата: Четверг, 10.12.2015, 18:31 |
Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация:
117
±
Замечаний:
0% ±
Excel 2010
Еще вариант, не знаю проще или нет - через Данные - Текст по столбцам, разделитель "-" или по ширине
Еще вариант, не знаю проще или нет - через Данные - Текст по столбцам, разделитель "-" или по ширине abtextime
Ответить
Сообщение Еще вариант, не знаю проще или нет - через Данные - Текст по столбцам, разделитель "-" или по ширине Автор - abtextime Дата добавления - 10.12.2015 в 18:31
_Boroda_
Дата: Четверг, 10.12.2015, 18:32 |
Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16702
Репутация:
6499
±
Замечаний:
±
2003; 2007; 2010; 2013 RUS
Так нужно? [vba]Код
Sub Макрос1() Columns("A:A").Replace What:="*-", Replacement:="" End Sub
[/vba]
Так нужно? [vba]Код
Sub Макрос1() Columns("A:A").Replace What:="*-", Replacement:="" End Sub
[/vba] _Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Так нужно? [vba]Код
Sub Макрос1() Columns("A:A").Replace What:="*-", Replacement:="" End Sub
[/vba] Автор - _Boroda_ Дата добавления - 10.12.2015 в 18:32
DreOne
Дата: Четверг, 10.12.2015, 18:39 |
Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Sub Макрос1() Columns("A:A").Replace What:="*-", Replacement:="" End Sub
Спасибо огромное, работает, супер)
Sub Макрос1() Columns("A:A").Replace What:="*-", Replacement:="" End Sub
Спасибо огромное, работает, супер)DreOne
Саморазвитие - это всё...
Ответить
Сообщение Sub Макрос1() Columns("A:A").Replace What:="*-", Replacement:="" End Sub
Спасибо огромное, работает, супер)Автор - DreOne Дата добавления - 10.12.2015 в 18:39
abtextime
Дата: Четверг, 10.12.2015, 18:39 |
Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация:
117
±
Замечаний:
0% ±
Excel 2010
Не тестировал [vba]Код
Public Function Clean(S As String) As String Clean = "" Founded = False For i = 1 To Len(S) If Founded Or (Mid(S, i, 1) <> "0" And Mid(S, i, 1) <> "-") Then Clean = Clean & Mid(S, i, 1) Founded = True End If Next i End Function
[/vba]
Не тестировал [vba]Код
Public Function Clean(S As String) As String Clean = "" Founded = False For i = 1 To Len(S) If Founded Or (Mid(S, i, 1) <> "0" And Mid(S, i, 1) <> "-") Then Clean = Clean & Mid(S, i, 1) Founded = True End If Next i End Function
[/vba] abtextime
Ответить
Сообщение Не тестировал [vba]Код
Public Function Clean(S As String) As String Clean = "" Founded = False For i = 1 To Len(S) If Founded Or (Mid(S, i, 1) <> "0" And Mid(S, i, 1) <> "-") Then Clean = Clean & Mid(S, i, 1) Founded = True End If Next i End Function
[/vba] Автор - abtextime Дата добавления - 10.12.2015 в 18:39
RAN
Дата: Четверг, 10.12.2015, 19:30 |
Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
abtextime , Назвать функцию именем существующего метода - это найти приключения на свою... (ну, вы в курсе)
abtextime , Назвать функцию именем существующего метода - это найти приключения на свою... (ну, вы в курсе)RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение abtextime , Назвать функцию именем существующего метода - это найти приключения на свою... (ну, вы в курсе)Автор - RAN Дата добавления - 10.12.2015 в 19:30
Kuzmich
Дата: Четверг, 10.12.2015, 19:49 |
Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация:
157
±
Замечаний:
0% ±
Excel 2003
UDF [vba]Код
Function Удаление(cell As Range) As String Удаление = Split(cell, "-")(1) End Function
[/vba]
UDF [vba]Код
Function Удаление(cell As Range) As String Удаление = Split(cell, "-")(1) End Function
[/vba] Kuzmich
Ответить
Сообщение UDF [vba]Код
Function Удаление(cell As Range) As String Удаление = Split(cell, "-")(1) End Function
[/vba] Автор - Kuzmich Дата добавления - 10.12.2015 в 19:49
abtextime
Дата: Четверг, 10.12.2015, 22:18 |
Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация:
117
±
Замечаний:
0% ±
Excel 2010
RAN, начал изучать VBA месяц назад, простите великодушно )
RAN, начал изучать VBA месяц назад, простите великодушно ) abtextime
Ответить
Сообщение RAN, начал изучать VBA месяц назад, простите великодушно ) Автор - abtextime Дата добавления - 10.12.2015 в 22:18
sv2014
Дата: Четверг, 10.12.2015, 22:25 |
Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
DreOne , добрый вечер,вариант для файл-примера с функцией yyy в столбце C [vba]Код
Function yyy%(t$) With CreateObject("VBScript.RegExp"): .Pattern = "0000\-0{2,3}" yyy = .Replace(t, "") End With End Function
[/vba]
DreOne , добрый вечер,вариант для файл-примера с функцией yyy в столбце C [vba]Код
Function yyy%(t$) With CreateObject("VBScript.RegExp"): .Pattern = "0000\-0{2,3}" yyy = .Replace(t, "") End With End Function
[/vba]sv2014
Сообщение отредактировал sv2014 - Четверг, 10.12.2015, 22:29
Ответить
Сообщение DreOne , добрый вечер,вариант для файл-примера с функцией yyy в столбце C [vba]Код
Function yyy%(t$) With CreateObject("VBScript.RegExp"): .Pattern = "0000\-0{2,3}" yyy = .Replace(t, "") End With End Function
[/vba]Автор - sv2014 Дата добавления - 10.12.2015 в 22:25
sv2014
Дата: Четверг, 10.12.2015, 22:52 |
Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
0% ±
Excel 2013
DreOne , добавлю еще функцию zzz в столбец D,преимущество таких функций простота [vba]Код
Function zzz%(t$) Dim j% For j = 1 To Len(t) If Mid(t, j, 1) Like "[1-9]" Then zzz = Mid(t, j): Exit Function Next End Function
[/vba]
DreOne , добавлю еще функцию zzz в столбец D,преимущество таких функций простота [vba]Код
Function zzz%(t$) Dim j% For j = 1 To Len(t) If Mid(t, j, 1) Like "[1-9]" Then zzz = Mid(t, j): Exit Function Next End Function
[/vba]sv2014
Ответить
Сообщение DreOne , добавлю еще функцию zzz в столбец D,преимущество таких функций простота [vba]Код
Function zzz%(t$) Dim j% For j = 1 To Len(t) If Mid(t, j, 1) Like "[1-9]" Then zzz = Mid(t, j): Exit Function Next End Function
[/vba]Автор - sv2014 Дата добавления - 10.12.2015 в 22:52
DreOne
Дата: Пятница, 11.12.2015, 09:38 |
Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 35
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Спасибо огромное Вам всем, добавлю еще функцию zzz в столбец D,преимущество таких функций простота
с этим я вообще не силен, первый ответ проще для моего понимания, но и к этому постараюсь придти в скором времени.
Спасибо огромное Вам всем, добавлю еще функцию zzz в столбец D,преимущество таких функций простота
с этим я вообще не силен, первый ответ проще для моего понимания, но и к этому постараюсь придти в скором времени. DreOne
Саморазвитие - это всё...
Ответить
Сообщение Спасибо огромное Вам всем, добавлю еще функцию zzz в столбец D,преимущество таких функций простота
с этим я вообще не силен, первый ответ проще для моего понимания, но и к этому постараюсь придти в скором времени. Автор - DreOne Дата добавления - 11.12.2015 в 09:38
Wasilich
Дата: Пятница, 11.12.2015, 12:01 |
Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация:
326
±
Замечаний:
0% ±
2003
А еще так можно [vba]Код
Sub WWW() Range("A:A").Replace "-", "", xlPart End Sub
[/vba]
А еще так можно [vba]Код
Sub WWW() Range("A:A").Replace "-", "", xlPart End Sub
[/vba] Wasilich
Ответить
Сообщение А еще так можно [vba]Код
Sub WWW() Range("A:A").Replace "-", "", xlPart End Sub
[/vba] Автор - Wasilich Дата добавления - 11.12.2015 в 12:01