If the tables aren't touching, you'll need to write a UDF to combine the tables into a consolidated 2D array. Here's an example that stores all the tables on a particular sheet to an array and combines them. The tables must have the same number of columns Instead of reinventing the wheel, this macro uses a 2D combination function I found here.

```
Sub CombineTables()
Dim ws As Worksheet, rng As Range
Dim arrCombined As Variant, a As Variant
Dim tbl As ListObject
Dim i As Integer
Set ws = ThisWorkbook.Worksheets(2)
For Each tbl In ws.ListObjects
i = i + 1
Set rng = tbl.DataBodyRange
a = Intersect(rng, rng.Offset(0, 1)).Value
If i = 1 Then
arrCombined = a
Else
arrCombined = Combine(arrCombined, a, True)
End If
Next tbl
End Sub
Function Combine(a As Variant, B As Variant, Optional stacked As Boolean = True) As Variant
'assumes that A and B are 2-dimensional variant arrays
'if stacked is true then A is placed on top of B
'in this case the number of rows must be the same,
'otherwise they are placed side by side A|B
'in which case the number of columns are the same
'LBound can be anything but is assumed to be
'the same for A and B (in both dimensions)
'False is returned if a clash
Dim lb As Long, m_A As Long, n_A As Long
Dim m_B As Long, n_B As Long
Dim m As Long, n As Long
Dim i As Long, j As Long, k As Long
Dim C As Variant
If TypeName(a) = "Range" Then a = a.Value
If TypeName(B) = "Range" Then B = B.Value
lb = LBound(a, 1)
m_A = UBound(a, 1)
n_A = UBound(a, 2)
m_B = UBound(B, 1)
n_B = UBound(B, 2)
If stacked Then
m = m_A + m_B + 1 - lb
n = n_A
If n_B <> n Then
Combine = False
Exit Function
End If
Else
m = m_A
If m_B <> m Then
Combine = False
Exit Function
End If
n = n_A + n_B + 1 - lb
End If
ReDim C(lb To m, lb To n)
For i = lb To m
For j = lb To n
If stacked Then
If i <= m_A Then
C(i, j) = a(i, j)
Else
C(i, j) = B(lb + i - m_A - 1, j)
End If
Else
If j <= n_A Then
C(i, j) = a(i, j)
Else
C(i, j) = B(i, lb + j - n_A - 1)
End If
End If
Next j
Next i
Combine = C
End Function
```

I couldn't tell by the question if you wanted to combine all the tables on each sheet or combine matching tables across each sheet (i.e., combine Table 1 on Sheet 1 with Table 1 on Sheet etc.). The above routine does the former. You'll need to modify the looping routine to loop through the sheets and tables if the latter is what you wanted.