Страницы: 1
RSS
Заполнять ячейки данными указанного бортового номера
 
Здравствуйте. Помогите пожалуйста.
Есть два листа - таблица для заполнения и список.
Нужно, что бы при внесении бортового номера техники в таблицу для заполнения заполнялись ячейки с данными этого бортового номера (ФИО, №, номер телефона …). Данные берутся из списка.
Здесь уместен макрос, поскольку размеры таблицы для заполнения будут меняться в зависимости от количества требуемой техники.
Спасибо.
 
safonik87, почему макрос? обычный индекс + поискпоз вроде норм справляется...если правильно понял задачу.
Не бойтесь совершенства. Вам его не достичь.
 
если макрос вместо оператора будет решать какие бортовые номера необходимо вписать в таблицу, то, конечно вполне уместно написать и использовать макрос, а оператора-дармоеда уволить
а если бортовые номера все=таки вносит (выбирает из списка) оператор - то вполне уместной будет ВПР
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Бортовой номер вписывает диспетчер. Ежедневная  процедура. Таких таблиц несколько. Чтобы ускорить работу и не вбивать всю информацию о ботре вручную хочется автоматизировать этот процес. Макрос потому что таблица делится на части - механизмы, автотранспорт... и границы меняются.
Можно ли сделать так, что бы при внесении бортового номера в таблицу, данные о борте подтягивались автоматически?
 
Валентин, у вас в примере таблица одна - соответственно о чем вы
Цитата
Валентин написал:
Таких таблиц несколько.
никто кроме вас не знает...
Не бойтесь совершенства. Вам его не достичь.
 
Можно ли в этой таблице воплотить такое решение?  
 
Валентин, да я вам показал его без макроса в #2 достаточно ввести номер борта, просто формулу скопируйте по всем нужным в таблице стркоам и все..можно завернуть ее в еслиошибка() что бы н/д не было
Изменено: Mershik - 20.11.2019 16:52:38
Не бойтесь совершенства. Вам его не достичь.
 
Я Вам благодарен.
Интересен вариант с макросом. Поскольку диспетчер в Excel разбирается не очень хорошо и с формулами могут возникнуть проблемы. Удалив их и не вставив в нужную ячейку. Проверено на практике.  
Изменено: Валентин - 20.11.2019 16:56:26
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Columns(3)) Is Nothing Then
        Application.EnableEvents = False
        Dim c As Range
        For Each c In Target
            If c.Column = 3 Then
                If c.Row > 3 Then
                    If c.Value = "" Then
                        Rows(c.Row).Range("D1:F1").ClearContents
                    Else
                        With Rows(c.Row).Range("D1:F1")
                            .FormulaR1C1 = "=VLOOKUP(C3,Список!C2:C5,COLUMN(C[-2]),0)"
                            .Calculate
                            Dim a As Variant
                            a = .Cells
                            .Cells = a
                        End With
                    End If
                End If
            End If
        Next
        Application.EnableEvents = True
    End If
End Sub

В модуль листа "механизмы".
Изменено: МатросНаЗебре - 21.11.2019 09:01:19
 
МатросНаЗебре  Спасибо Большое! То что нужно!
 
теперь главное - чтобы вредители, уничтожавшие формулы, не удалили макрос...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
Страницы: 1
Наверх