Всем привет! Вопрос такой: я много отправляю почты физической и все посылки и трек номера отслеживаю с помощью эксель. Порядок такой: В первой ячейке А1 - ФИО, В1 - адрес, С1 - что за посылка, D1 - трек номер Чего хочется: Чтобы когда в А1 вводил имя, которое уже упоминалось в книге, в В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, ничего не происходит.
Вставил, но они между собой не сообщаются, листы. Если на листе 1 уже есть вася пупкин с адресом, то при повтором введении его имени на том же листе инфа копируется. Но когда ты вставляешь имя вася пупкин на лист2 - ничего не происходит. Хотя я макрос применил ко всей книге.