Как динамически автозаполнить место назначения с помощью VBA? - PullRequest
0 голосов
/ 19 июня 2020

Ситуация :::

У меня есть 2 таблицы Table1 и Table2.

Table1 имеет ручной ввод в столбец C, который обновляет другие столбцы в этой таблице.

Table2 полагается на этот ручной ввод для автозаполнения всех значений таблицы.

Пример :::

Пример данных

Проблема :::

Как, черт возьми, вы динамически заставляете его обновлять Table2, потому что ОБЕИ таблицы так сильно меняются что у меня есть Dynami c Ranges, который ссылается на последние строки каждой таблицы?

У меня следующий синтаксис, и это всего лишь одна строка, с которой у меня есть проблемы, потому что она не обновляется и выдает ошибки. Все остальное работает отлично.

Sub Auto_Fill()

' Auto_Fill Macro

     Range("Table1[[#Headers],[U/C LEVEL]]").End(xlDown).Select

     If Not IsEmpty(ActiveCell.Value) Then

     Range("Table3[#Headers]").End(xlDown).Select
     Range(Selection, Selection.End(xlToRight)).Select
     Selection.AutoFill Destination:=Range(**THIS IS THE BIT I'M HAVING TROUBLE WITH**), Type:=xlFillDefault
     Range("Table3[[#Headers],[HEIGHT DIFF.]]").End(xlDown).Select

     End If

End Sub

Я не знаю, как завершить sh этот бит моего синтаксиса :::

Selection. Назначение автозаполнения: = Диапазон (ЭТО ТОЧКА, С КОТОРОЙ У МЕНЯ ПРОБЛЕМА), Тип: = xlFillDefault

Что я хочу, чтобы мой синтаксис делал :::

Я хочу, чтобы синтаксис находил последнее значение в Column C в Table1, и если он не пуст, я хочу, чтобы он нашел последнюю строку Table2 и автозаполнил Table2 строку вниз на 1 строку со всеми формулы и значения, которые в настоящее время находятся в Table2.

Кто-нибудь, пожалуйста, напишите мой синтаксис и заставьте его работать ... Это поможет мне понять, в чем я ошибся.

Пожалуйста, не Не связывайте меня с другим блогом, поскольку я пробовал около 20 разных ссылок, и, похоже, это не работает с моей ситуацией. Я был бы очень признателен, если бы кто-то просто воссоздал мой сценарий и посмотрел, смогут ли они заставить его работать, потому что ссылки на ячейки, ссылки и смещение row.count очень сбивают меня с толку, и я понятия не имею, как вписать это в мой запрос. Я пытался уже более 4 часов, и ни одна из комбинаций решений, которые я пробовал в Интернете, похоже, не работает в моей конкретной ситуации.

Спасибо.

1 Ответ

0 голосов
/ 20 июня 2020

Предполагая, что вы хотите автоматически заполнить Table3, попробуйте ...

Dim lastListRow As ListRow

With ActiveSheet.ListObjects("Table3")
    Set lastListRow = .ListRows(.ListRows.Count)
End With

With lastListRow
    .Range.AutoFill Destination:=.Range.Resize(2), Type:=xlFillDefault
End With
...