Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
 Поиск и замена значений ячеек Excel (vba)  [new]
lsor
Member

Откуда:
Сообщений: 6
Доброго времени суток!
Суть вопроса: есть 2 таблицы (i.e. "1" и "2")
из таблицы 1 нужно найти все ячейки, у которых в имени имеется "$name" и заменить "$name" на значение ячеек из 2 столбца таблицы 2. Количество строк в обоих таблицах - значение не константное.
12 окт 17, 16:33    [20864851]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 17510
lsor
Суть вопроса:
Вопрос не найден. Также не ясно, что вы вкладываете в понятие "таблица" и что такое имя ячейки.
12 окт 17, 16:58    [20864939]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
lsor
Member

Откуда:
Сообщений: 6
Shocker.Pro, извиняюсь за некорректность вопроса. Исправляюсь:
2 листа (1 и 2)
ищем в 1-ом листе ячейки у которых в значении имеется "$name"(+ бла-бла-бла) и меняем "$name" на значение ячейки из 2-го столбца 2 листа.
12 окт 17, 17:09    [20865001]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
lsor
Member

Откуда:
Сообщений: 6
Shocker.Pro,

With Worksheets(2).range("A1:A13")
  Set c = .Find("$name*", LookIn:=xlValues)
  If Not c Is Nothing Then
    firstResult = c.address
    Do
      c.Value = Worksheets(1).range("B2:B13")
      Set c = .FindNext(c)
    Loop While Not c Is Nothing And c.address <> firstResult
  End If
End With


пока есть что-то такое, но не понимаю как диапазон не привязывать к конкретным значениям, да и не записывает ничего.
12 окт 17, 17:16    [20865040]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 17510
lsor
на значение ячейки из 2-го столбца 2 листа.
а из какой строки?

Рекомендую выложить пример файла
12 окт 17, 17:22    [20865079]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 17510
lsor
Not c Is Nothing And c.address <> firstResult
Условие некорректное. Если с=Nothing все равно произойдет падение на c.address
12 окт 17, 17:23    [20865084]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
lsor
Member

Откуда:
Сообщений: 6
Shocker.Pro,

поочерёдно
1-я строка из 1 - 1-я строка из 2
2-я строка из 1 - 2-я строка из 2
и т.д. до конца

К сообщению приложен файл (Intouch (Автосохраненный).xlsm - 36Kb) cкачать
12 окт 17, 17:26    [20865098]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 17510
А VBA принципиально? Почему не формулой?
12 окт 17, 17:40    [20865171]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
lsor
Member

Откуда:
Сообщений: 6
Shocker.Pro,

задание руководителя. Для него это почему-то принципиально
12 окт 17, 17:43    [20865196]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
The_Prist
Member

Откуда: www.excel-vba.ru
Сообщений: 1592
lsor,

такой вариант не подойдет? Массовая замена слов
12 окт 17, 19:27    [20865472]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
lsor
Member

Откуда:
Сообщений: 6
The_Prist,

к сожалению нет, но спасибо за ответ.
13 окт 17, 09:03    [20866166]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 17510
Каждый раз, когда находите нужное значение, нужно определить строку у найденной ячейки, затем обратиться к значению конкретной ячейки на втором листе и вырезать и склеить значения с помощью функции Mid$
Что именно вызывает проблему?

ЗЫ: Проще было бы сделать простым циклом по ячейкам, хотя на очень большом объеме Find будет работать побстрее
13 окт 17, 12:17    [20866994]     Ответить | Цитировать Сообщить модератору
 Re: Поиск и замена значений ячеек Excel (vba)  [new]
The_Prist
Member

Откуда: www.excel-vba.ru
Сообщений: 1592
lsor
к сожалению нет
А чем именно? Судя по описанию из первого сообщения - очень даже подходит. Вы хоть попробовали? Или может я не понимаю что надо?
13 окт 17, 16:16    [20868147]     Ответить | Цитировать Сообщить модератору
Все форумы / Visual Basic Ответить