Dim strOld As String, strNew As String Dim arr(), lr As Long, i As Long
strOld = InputBox("Найти:") If strOld = "" Then Exit Sub strNew = InputBox("Заменить:")
lr = Cells(Rows.Count, "A").End(xlUp).Row arr() = Range("A1:A" & lr).Value
For i = 1 To UBound(arr) If Len(arr(i, 1)) <= 60 Then arr(i, 1) = Replace(arr(i, 1), strOld, strNew, , , vbTextCompare) End If Next i
Range("A1:A" & lr).Value = arr()
End Sub
[/vba]
Макрос успешно ищет и заменяет по условию ДЛСТР.
Нужно как-то переделать его, под другие условия, а конкретно: просто чтоб он добавлял к ячейкам которые ДЛСТР <=60 "текст". Благодарю! Продолжается серия без-файловых вопрос-ответов. Боюсь что надо было тему создавать в VBA отсеке, каюсь.
Добрый день, есть такой макрос-матрос:
[vba]
Код
Sub поиск_и_замена()
Dim strOld As String, strNew As String Dim arr(), lr As Long, i As Long
strOld = InputBox("Найти:") If strOld = "" Then Exit Sub strNew = InputBox("Заменить:")
lr = Cells(Rows.Count, "A").End(xlUp).Row arr() = Range("A1:A" & lr).Value
For i = 1 To UBound(arr) If Len(arr(i, 1)) <= 60 Then arr(i, 1) = Replace(arr(i, 1), strOld, strNew, , , vbTextCompare) End If Next i
Range("A1:A" & lr).Value = arr()
End Sub
[/vba]
Макрос успешно ищет и заменяет по условию ДЛСТР.
Нужно как-то переделать его, под другие условия, а конкретно: просто чтоб он добавлял к ячейкам которые ДЛСТР <=60 "текст". Благодарю! Продолжается серия без-файловых вопрос-ответов. Боюсь что надо было тему создавать в VBA отсеке, каюсь.AdwordsDirect
Сообщение отредактировал AdwordsDirect - Среда, 12.04.2017, 19:29
Sub поиск_и_замена() Dim arr(), lr As Long, i As Long lr = Cells(Rows.Count, "A").End(xlUp).Row arr() = Range("A1:A" & lr).Value For i = 1 To UBound(arr) If Len(arr(i, 1)) <= 60 Then arr(i, 1) = arr(i, 1) & "текст" End If Next i Range("A1:A" & lr).Value = arr() End Sub
[/vba]
Ну если без файла, то так? [vba]
Код
Sub поиск_и_замена() Dim arr(), lr As Long, i As Long lr = Cells(Rows.Count, "A").End(xlUp).Row arr() = Range("A1:A" & lr).Value For i = 1 To UBound(arr) If Len(arr(i, 1)) <= 60 Then arr(i, 1) = arr(i, 1) & "текст" End If Next i Range("A1:A" & lr).Value = arr() End Sub