отказ от ответственности Я никогда раньше не использовал VBA ...
У меня есть следующее: Sheet1 содержит Table1 Sheet2 содержит Table2
Я хочу скопировать содержимое Table1 и вставьте его в Table2. Вы бы использовали метод копирования / вставки или ListRows.add?
Вот как я могу выбрать строки из Table1:
' Copy from src table
Set srcRows = srcSh.ListObjects("Table1")
srcRows.Parent.Activate
srcRows.AutoFilter.ShowAllData
srcRows.DataBodyRange.SpecialCells(xlCellTypeVisible).Copy
Но тогда я не уверен, как я могу скопировать это в конце другой таблицы?
Другой способ, который я думаю для выбора данных, - это сохранить содержимое строк в переменной и затем добавить его в целевую таблицу (но как?)
from = srcRows.DataBodyRange.Value
Я видел функцию добавления https://docs.microsoft.com/en-us/office/vba/api/excel.listrows.add#example, но не уверен, как применить к ней этот выбор.
Наконец, еще одна упрощенная версия, которую я пробовал с демонстрацией, начиная с следующее: ![enter image description here](https://i.stack.imgur.com/hQEDl.png)
Моя цель - скопировать строки из второй таблицы, чтобы добавить их в первую.
Итак, я попробовал следующий макрос:
Set tbl1 = ActiveSheet.ListObjects("Table3")
Set tbl2 = ActiveSheet.ListObjects("Table2")
For x = 2 To tbl2.Range.Rows.Count
tbl1.ListRows.Add.Range() = tbl2.Range.Rows(x).Value
Next x
, что даст следующий результат: ![enter image description here](https://i.stack.imgur.com/xwtta.png)
Это почти готово, но как я могу заставить его «вставить» значения при запуске столбец foo?
Любая помощь будет принята с благодарностью :)
Спасибо