Добрый день! Просьба помочь написать макрос чтобы на листе в определенном столбце находить значение (шифр, к примеру 302600) и заменить на текст (к примеру, Береза). В столбце шифры разные и каждый необходимо заменить на соответствующий ему текст. [moder]Файл покажите?[/moder]
Добрый день! Просьба помочь написать макрос чтобы на листе в определенном столбце находить значение (шифр, к примеру 302600) и заменить на текст (к примеру, Береза). В столбце шифры разные и каждый необходимо заменить на соответствующий ему текст. [moder]Файл покажите?[/moder]misharin
Сообщение отредактировал Manyasha - Четверг, 10.12.2015, 10:08
У меня чуть сложнее задача. Имеется маленькая таблица(справа). В ней уникальные значения для большой таблицы слева. Нужно чтоб в большой таблице слева были заполнены все ячейки по имеющимся данным с маленькой таблицы.
[vba]
Код
Sub ЗаменаСлов() Dim s As String Dim avArr, lr As Long Dim lLastR As Long Dim lToFindCol As Long, lToReplaceCol As Long, lLookAt As Long
lLookAt = 1 lToFindCol = 1 lToReplaceCol = 2 'Получаем с листа Соответствия значения, которые надо заменить в диапазоне With ThisWorkbook.Worksheets("Март16") lLastR = Cells(1, 11).CurrentRegion.Rows.Count avArr = .Cells(1, 11).Resize(lLastR, 5) End With '// дальше не выходит задача((((
'заменяем For lr = 2 To UBound(avArr, 1) s = avArr(lr, lToFindCol) If Len(s) Then 'если значение для замены не пустое Worksheets("Март16").Cells(lr, 2) = _ Replace(Worksheets("Март16").Cells(lr, 2), s, avArr(lr, lToReplaceCol), lLookAt) End If Next lr End Sub
[/vba]
Не могу сообразить как заставить перебирать массив в массиве. [moder]Вопрос не имеет отношения к теме. Создайте новую[/moder]
У меня чуть сложнее задача. Имеется маленькая таблица(справа). В ней уникальные значения для большой таблицы слева. Нужно чтоб в большой таблице слева были заполнены все ячейки по имеющимся данным с маленькой таблицы.
[vba]
Код
Sub ЗаменаСлов() Dim s As String Dim avArr, lr As Long Dim lLastR As Long Dim lToFindCol As Long, lToReplaceCol As Long, lLookAt As Long
lLookAt = 1 lToFindCol = 1 lToReplaceCol = 2 'Получаем с листа Соответствия значения, которые надо заменить в диапазоне With ThisWorkbook.Worksheets("Март16") lLastR = Cells(1, 11).CurrentRegion.Rows.Count avArr = .Cells(1, 11).Resize(lLastR, 5) End With '// дальше не выходит задача((((
'заменяем For lr = 2 To UBound(avArr, 1) s = avArr(lr, lToFindCol) If Len(s) Then 'если значение для замены не пустое Worksheets("Март16").Cells(lr, 2) = _ Replace(Worksheets("Март16").Cells(lr, 2), s, avArr(lr, lToReplaceCol), lLookAt) End If Next lr End Sub
[/vba]
Не могу сообразить как заставить перебирать массив в массиве. [moder]Вопрос не имеет отношения к теме. Создайте новую[/moder]sokodi