Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Макросы для операции найти и заменить - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макросы для операции найти и заменить (Макросы/Sub)
Макросы для операции найти и заменить
misharin Дата: Четверг, 10.12.2015, 09:57 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день!
Просьба помочь написать макрос чтобы на листе в определенном столбце находить значение (шифр, к примеру 302600) и заменить на текст (к примеру, Береза). В столбце шифры разные и каждый необходимо заменить на соответствующий ему текст.
[moder]Файл покажите?[/moder]


Сообщение отредактировал Manyasha - Четверг, 10.12.2015, 10:08
 
Ответить
СообщениеДобрый день!
Просьба помочь написать макрос чтобы на листе в определенном столбце находить значение (шифр, к примеру 302600) и заменить на текст (к примеру, Береза). В столбце шифры разные и каждый необходимо заменить на соответствующий ему текст.
[moder]Файл покажите?[/moder]

Автор - misharin
Дата добавления - 10.12.2015 в 09:57
misharin Дата: Четверг, 10.12.2015, 10:02 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Ошибочно не в том разделе создал тему. если можно прошу перенести в раздел Вопросы по VBA
 
Ответить
СообщениеОшибочно не в том разделе создал тему. если можно прошу перенести в раздел Вопросы по VBA

Автор - misharin
Дата добавления - 10.12.2015 в 10:02
misharin Дата: Четверг, 10.12.2015, 12:55 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 42
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Пример файла
К сообщению приложен файл: 1245701.xlsx (11.9 Kb)
 
Ответить
СообщениеПример файла

Автор - misharin
Дата добавления - 10.12.2015 в 12:55
abtextime Дата: Четверг, 10.12.2015, 13:03 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Зачем тут макрос? Создаете справочник(и) вида "Код-расшифровка кода" и применяете ВПР()
 
Ответить
СообщениеЗачем тут макрос? Создаете справочник(и) вида "Код-расшифровка кода" и применяете ВПР()

Автор - abtextime
Дата добавления - 10.12.2015 в 13:03
abtextime Дата: Четверг, 10.12.2015, 13:14 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 828
Репутация: 117 ±
Замечаний: 0% ±

Excel 2010
Пробуйте
К сообщению приложен файл: _1245701_111.xlsx (16.8 Kb)
 
Ответить
СообщениеПробуйте

Автор - abtextime
Дата добавления - 10.12.2015 в 13:14
sokodi Дата: Понедельник, 09.05.2016, 09:05 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
У меня чуть сложнее задача.
Имеется маленькая таблица(справа). В ней уникальные значения для большой таблицы слева.
Нужно чтоб в большой таблице слева были заполнены все ячейки по имеющимся данным с маленькой таблицы.

[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]
К сообщению приложен файл: 1319294.xlsm (22.4 Kb)


Сообщение отредактировал Pelena - Понедельник, 09.05.2016, 10:20
 
Ответить
СообщениеУ меня чуть сложнее задача.
Имеется маленькая таблица(справа). В ней уникальные значения для большой таблицы слева.
Нужно чтоб в большой таблице слева были заполнены все ячейки по имеющимся данным с маленькой таблицы.

[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
Дата добавления - 09.05.2016 в 09:05
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макросы для операции найти и заменить (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!