Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
25.04.2024, 02:59:40

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 243 Сообщений в 5 458 Тем от 6 761 Пользователей
Последний пользователь: Halfdoor
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  Найти данные на одном листе и вставить на другом.
Страниц: [1]   Вниз
Печать
Автор Тема: Найти данные на одном листе и вставить на другом.  (Прочитано 2161 раз)
0 Пользователей и 1 Гость смотрят эту тему.
neo2121
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 2


Просмотр профиля
« : 30.06.2020, 07:49:32 »

Доброго времени суток!

Помогите решить задачу. Обрезку данных победил, а вот с поиском и копированием с листа на лист разобраться не могу.

Есть два листа "Лист1" и "БД".
Циклом нужно пройтись по всем строкам "Лист1" по столбцу А, сравнить с столбцом А листа "БД", если найдено соответствие, скопировать столбец B и C с листа "БД" в "Лист1" на эту же строчку в другие столбцы, если соответствия не нашлось, оставить пустым.

Пример с данными прикрепляю.

Спасибо!
Записан
Дмитрий Щербаков(The_Prist)
Администратор
Ветеран
*****

Репутация: +485/-0
Офлайн Офлайн

Сообщений: 5 831



Просмотр профиля WWW
« Ответ #1 : 30.06.2020, 10:12:00 »

Здесь ВПР вполне справится: Как найти значение в другой таблице или сила ВПР
Записан

Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Пункты приёма Спасибов:    -41001332272872  -R298726502453
neo2121
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 2


Просмотр профиля
« Ответ #2 : 30.06.2020, 18:42:15 »

Или вот так:

Код: (vb)
Sub neo2121()
Dim L As Range, B As Range, F As Range, R As Long
Set L = Worksheets("Лист1").Columns("A").Cells
Set B = Worksheets("БД").Columns("A").Cells
For R = 1 To L(L.Count).End(xlUp).Row
  Set F = B.Find(L(R), , , xlWhole)
  If Not F Is Nothing Then
    L(R, "C") = F.Offset(, 1)
    L(R, "D") = F.Offset(, 2)
  End If
Next R
End Sub



Спасибо за ответ!
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru