Страницы: 1
RSS
Автозаполнение соседних ячеек, если найдено совпадение.
 
Всем привет! Вопрос такой: я много отправляю почты физической и все посылки и трек номера отслеживаю с помощью эксель.
Порядок такой:  В первой ячейке А1 - ФИО, В1 - адрес, С1 - что за посылка, D1 - трек номер
Чего хочется: Чтобы когда в А1 вводил имя, которое уже упоминалось в книге, в В1 уже автоматически вбивался адрес. Насколько возможно это? Это обязательно макрос или можно самим экселем как-то воспользоваться?
Изменено: magrega - 14.03.2020 18:47:03
 
Обязателен файл.
 
Вот файл-пример
 
А что, макрос не устроит? И что делать, если однофамильцы (полные)?
 
И макрос устроит. Будем добавлять Иванов1)
 
См. вариант.
Название немного подкорректировал.
 
Цитата
Юрий М написал:
Название немного подкорректировал
Спасибо. Подскажите, как мне самому подкорректировать Ваш макрос? Мне нужно, чтобы он вставлял только строки с адресом, потому что наименование посылки и трек-код меняются постоянно. Мне было бы любопытно взглянуть на вашу работу, и может, разобрав ее, самому чему-то научиться.
 
magrega, удалите лишние строки в макросе для одного адреса
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A2:A1000")) Is Nothing Then
        Application.EnableEvents = False
        Set Rng = Columns(1).Find(what:=Target, LookIn:=xlValues, lookAt:=xlWhole)
        If Not Rng Is Nothing Then
            Target.Offset(0, 1) = Rng.Offset(0, 1)

        Else
            MsgBox "Клиент не найден. Требуется ручной ввод", 64, "Для сведения..."
        End If
    End If
    Application.EnableEvents = True
End Sub
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, так и сделал. Спасибо огромное. Очень удобно!
Я верно понимаю, что здесь 0,1 работает как ось координат? Горизонталь и вертикаль?
Target.Offset(0, 1) = Rng.Offset(0, 1)
Если да, то можно ли как-то добавить в макрос не только ячейку справа, но еще ячейку справа, но ниже?
Например, если адрес большой, и размещен в ячейках одна под другой?

АПД. Разобрался сам. Спасибо большое, коллеги. Вы мне облегчили сильно очень жизнь.

Но появляются новые вопросы :)
Как заставить макрос работать на всю книгу? Когда я вставляю имена с лист1 в лист2, ничего не происходит.
Изменено: magrega - 16.03.2020 15:26:48
 
magrega,
Цитата
magrega написал:
Как заставить макрос работать на всю книгу?
наверное нужно в каждый модуль листа вставить данный код...
Не бойтесь совершенства. Вам его не достичь.
 
Вставил, но они между собой не сообщаются, листы.
Если на листе 1 уже есть вася пупкин с адресом, то при повтором введении его имени на том же листе инфа копируется.
Но когда ты вставляешь имя вася пупкин на лист2 - ничего не происходит. Хотя я макрос применил ко всей книге.
 
magrega, а так вы хотите что бы макрос искал васю пупкина не на вводим листе а на всех других?
Изменено: Mershik - 16.03.2020 16:33:58
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, ну да, если это возможно, конечно.  
Страницы: 1
Читают тему (гостей: 1)
Наверх