Здравствуйте. Вновь прошу вашей помощи. Вопрос вроде плёвый. Формулой его решил, а записать макрос не получается. Суть: из ячейки с текстом нужно удалить фразу "ххх -Показать номер-", где ххх - три меняющихся цифры. Макрос должен выполняться по всему столбцу "i". Количество строк заранее не известно. Файл прикрепляю.
Здравствуйте. Вновь прошу вашей помощи. Вопрос вроде плёвый. Формулой его решил, а записать макрос не получается. Суть: из ячейки с текстом нужно удалить фразу "ххх -Показать номер-", где ххх - три меняющихся цифры. Макрос должен выполняться по всему столбцу "i". Количество строк заранее не известно. Файл прикрепляю.emkub
Sub dd() Dim arr As Variant, i& With [offset(I1,,,counta(I:I))] On Error GoTo er arr = .Value If Not IsArray(arr) Then ReDim arr(1 To 1, 1 To 1) arr(1, 1) = .Value End If With CreateObject("vbscript.regexp") .Pattern = "\d+ -Показать номер- " For i = 1 To UBound(arr) arr(i, 1) = .Replace(arr(i, 1), "") Next End With .Value = arr End With er: End Sub
[/vba]
как-то так[vba]
Код
Sub dd() Dim arr As Variant, i& With [offset(I1,,,counta(I:I))] On Error GoTo er arr = .Value If Not IsArray(arr) Then ReDim arr(1 To 1, 1 To 1) arr(1, 1) = .Value End If With CreateObject("vbscript.regexp") .Pattern = "\d+ -Показать номер- " For i = 1 To UBound(arr) arr(i, 1) = .Replace(arr(i, 1), "") Next End With .Value = arr End With er: End Sub
emkub, добрый день,вариант функции uuu и соответствующий ей макрос,кнопки use и повтор
[vba]
Код
Function uuu$(t$) With CreateObject("VBScript.RegExp"): .Pattern = "\d+ \-Показать номер\-" uuu = .Replace(t, "") End With End Function
[/vba]
[vba]
Код
Sub use() Dim z, j&: z = Range("I1:I" & Range("I" & Rows.Count).End(xlUp).Row).Value With CreateObject("vbscript.regexp"): .Pattern = "\d+ \-Показать номер\- " For j = 1 To UBound(z): z(j, 1) = .Replace(z(j, 1), ""): z(j, 1) = Replace(z(j, 1), Chr(10), ""): Next Range("I1").Resize(UBound(z), 1).Value = z End With End Sub
[/vba]
emkub, добрый день,вариант функции uuu и соответствующий ей макрос,кнопки use и повтор
[vba]
Код
Function uuu$(t$) With CreateObject("VBScript.RegExp"): .Pattern = "\d+ \-Показать номер\-" uuu = .Replace(t, "") End With End Function
[/vba]
[vba]
Код
Sub use() Dim z, j&: z = Range("I1:I" & Range("I" & Rows.Count).End(xlUp).Row).Value With CreateObject("vbscript.regexp"): .Pattern = "\d+ \-Показать номер\- " For j = 1 To UBound(z): z(j, 1) = .Replace(z(j, 1), ""): z(j, 1) = Replace(z(j, 1), Chr(10), ""): Next Range("I1").Resize(UBound(z), 1).Value = z End With End Sub
Ого, сколько вариантов! :) Пока проверил вариант nilemа. Возможно на нём и остановлюсь. Но в запас возьму ВСЕ! Всем отозвавшимся огромнейшее спасибо за помощь!!! Вы делаете этот мир лучше
Ого, сколько вариантов! :) Пока проверил вариант nilemа. Возможно на нём и остановлюсь. Но в запас возьму ВСЕ! Всем отозвавшимся огромнейшее спасибо за помощь!!! Вы делаете этот мир лучше emkub