У меня есть 2 таблицы:
table1 (продажи сторонних производителей) table2 (Изменение продаж)
У меня есть сводная таблица:
table4 (третье лицо и изменение продаж)
Я хочу объединить все столбцы из table1 и table2 в table4.
Я использую ListObject, потому что порядок столбца может измениться, и сейчас я не делаю заранее номер строки. Это извлечено из системы.
Я пытался использовать смещение, но я получаю значения # N / A.
Sub Macro1()
'
' Macro1 Macro
'
'
Dim Sht1 As Worksheet
Dim Rng1 As Range
Dim tb1 As ListObject
'Definition of the differents tables
Set Sht1 = Sheets("Sheet1")
Set Rng1 = Range("Table1")
Set tb1 = Rng1.ListObject
Set Sht2 = Sheets("Sheet1")
Set Rng2 = Range("Table2")
Set tb2 = Rng2.ListObject
Set Sht3 = Sheets("Sheet1")
Set Rng3 = Range("Table4")
Set tb3 = Rng3.ListObject
'resizing the table3 to consolidate data from table 1 and table 2
tb3.Resize tb3.Range.Resize(tb1.ListRows.Count + tb2.ListRows.Count + 1)
'Consolidating the column Period from Table 1 and Table 2 into Table 3
tb3.ListColumns("Period").DataBodyRange.Value = tb1.ListColumns("Period").DataBodyRange.Value ' works well
tb3.ListColumns("Period").DataBodyRange.Value = tb2.ListColumns("Period").DataBodyRange.Value ' return N/A value
'Consolidating the column Profit Ctr from Table 1 and Table 2 into Table 3
tb3.ListColumns("Profit Ctr").DataBodyRange.Value = tb1.ListColumns("Profit Ctr").DataBodyRange.Value
tb3.ListColumns("Profit Ctr").DataBodyRange.Value = tb2.ListColumns("Profit Ctr").DataBodyRange.Value
'Consolidating the column Partner PC from Table 1 and Table 2 into Table 3
tb3.ListColumns("Partner PC").DataBodyRange.Value = tb1.ListColumns("Partner PC").DataBodyRange.Value
tb3.ListColumns("Partner PC").DataBodyRange.Value = tb2.ListColumns("Partner PC").DataBodyRange.Value
End Sub
Я ожидал, что у меня будет следующее:
table1-A table1-B table1-C table2-A table2-B table2-C
У меня есть: table1-А таблица1-В таблица1-C N / AN / AN / A