Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Перенос номеров телефонов из одной книги в другую с привязкой к ФИО.
 
Добрый день!

Помогите, пожалуйста, решить задачу.

Нужно перенести номера телефонов из книги 2 в книгу 1 в соответствии с ФИО, которые иногда дублируются по фамилиям. Я так понимаю, что нужно сделать слияние ячеек ФИО в двух файлах, а потом в книгу 1 подставить номер телефона?

С большой благодарностью, Наталия.
 
Решение в файле. Обе таблицы в одной книге.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Максим В. Классное решение, ведь автор не написал, что нужен макрос
 
Евгений Смирнов, приём подсмотрен на этом форуме.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
cholovskaya  Проверяйте
Код
Sub FindRange() ' Поиск значений на листе
Dim Rg1 As Range, Rg2 As Range, Adres$, i&
Adres = GetOpenFileName
If Adres <> "" Then Workbooks.Open Filename:=Adres Else Exit Sub
Application.ScreenUpdating = False ' отключаем обновление экрана
Set Rg1 = ActiveWorkbook.Sheets(1).Cells
ThisWorkbook.Activate
kSt = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To kSt
   Set Rg2 = Rg1.Find(Cells(i, 1), , xlValues, xlWhole) 'Краткая запись для поиска
If Not Rg2 Is Nothing Then 'After можно не указывать
        Adres$ = Rg2.Address
        Do
If Cells(i, 1)(1, 2) = Rg2(1, 2) And Cells(i, 1)(1, 3) = Rg2(1, 3) Then Exit Do
            Set Rg2 = Rg1.Cells.FindNext(After:=Rg2)
        Loop Until Rg2.Address = Adres
End If
If Not Rg2 Is Nothing And Rg2.Value <> "" Then Cells(i, 5) = Rg2(1, 4) 'MsgBox Rg2.Address
Next i
Workbooks(Workbooks.Count).Close
End Sub
Private Function GetOpenFileName() 'Стр342 Все параметры необязательные
    Dim Filt$, Title$, FilterIndex% 'Для множестенного выбора добавить парам MultiSelect:=True
'   Настройка списка фильтров отображаемых в окне тип файла
    Filt = "Файлы Excel (*.xls*),*.xls*," & "Файлы печати (*.prn),*.prn," & _
"Разделенные запятой (*.csv),*.csv," & "Все файлы (*.*),*.*"
   FilterIndex = 1 'По умолчанию используется фильтр *.*
Title = "Выберите файл или и нажмите открыть" '   Заголовок окна
    GetOpenFileName = Application.GetOpenFileName(FileFilter:=Filt, _
    FilterIndex:=FilterIndex, Title:=Title)
If GetOpenFileName = False Then GetOpenFileName = ""
End Function
Изменено: Евгений Смирнов - 15.04.2021 15:21:10
 
Большое спасибо всем за комментарии и помощь!
Страницы: 1
Читают тему (гостей: 1)
Наверх