Страницы: 1
RSS
Автозаполнение данных одной таблицы при заполнении другой., Необходимо, чтобы вторая таблица заполнялась автоматически.
 
Необходимо, чтобы вторая таблица заполнялась автоматически при заполнении первой таблицы.



:evil: Если это сообщение также, как и предыдущие 10, будет заблокировано, то прощай этот форум. :evil:  
 
Сама по себе таблица не может расти и заполняться, но это может выполнить макрос. Есть и другие инструменты. Однако не зная для чего это и что с этим будет делаться дальше, сложно предложить подходящее решение.
Изменено: skais675 - 15.09.2020 17:59:41
 
skais675,
это необходимо для составления файла учёта бюджета.
Если рассматривать на данном примере:

1) Пользователем заполняется первая таблица, например, имя - Вова, кликуха - кружка,
2) а excel сам уже заполняет вторую таблицу с единственным столбцом.

Пробовал сделать связь - получается в E2:E5 формула "=B2:B5", но в таком случае таблица всё равно сама не заполняется.  
 
Адмен Petukh Я бы посоветовал использовать сводные таблицы для этих целей.
 
skais675,наверное, это подойдёт. Спасибо
 
Сводная таблица тоже не обновляется сама - надо не забывать обновлять. Или макрос делать, который по событию ее будет обновлять.
1. Вариант с формулами. Подойдет, если известно заранее число строк, которое в данных точно не будет превышено. В столбец E в примере вводится формула (например, в E6):
Код
=ЕСЛИ(ЕПУСТО(B6);"";B6)

и тиражируется на максимальное количество строк.

2. Вариант с макросом в модуль листа:

Если за один раз будет изменяться не более одной ячейки, то такой код в модуль листа:

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 2 Then Cells(Target.Row, 5).Value = Target.Value
End Sub

Если же предусматривать копирование и пр. массовые операции с ячейками, то код сложнее:

Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cC As Range
Application.EnableEvents = False
    If Not (Intersect(Columns(2), Target) Is Nothing) Then
        For Each cC In Intersect(Columns(2), Target).Cells
            If cC.Column = 2 Then Cells(cC.Row, 5).Value = cC.Value
        Next cC
    End If
Application.EnableEvents = True
End Sub

Изменено: PerfectVam - 15.09.2020 19:01:09
Следствие из третьего закона Чизхолма:
"Даже если ясность изложения исключает неверное толкование, все равно найдется кто-то, кто поймет Вас неправильно."
 
Цитата
Адмен Petukh написал:
Если это сообщение также, как и предыдущие 10, будет заблокировано, то прощай этот форум.
Вы зашли на форум под VPN с английским IP-адресом из черного списка спамеров. Так что наш антиспам вполне логично на вас среагировал :)
 
Адмен Petukh, какой ник - снова обиженный
Не бойтесь совершенства. Вам его не достичь.
 
я б отправил в баню помыться за такой ник
Лень двигатель прогресса, доказано!!!
Страницы: 1
Наверх