我在单独的工作表上有5个具有相同结构的表,我想在单独的工作表中将它们组合成一个聚合表。
各个表定期更新,因此需要更新汇总结果。
我找到了一个MergeRange UDF(如下所示),用于组合列。理想情况下,我想扩展它以合并整个行(保持每个表的正确顺序)。
我到处寻找这个 - 我相信它可以使用MS powerquery完成,但我是一个mac用户,所以一个简单的UDF会很棒。
提前感谢您的帮助。
Option Explicit
Function MergeRanges(ParamArray arguments() As Variant) As Variant()
Dim cell As Range, temp() As Variant, argument As Variant
Dim iRows As Integer, i As Integer
ReDim temp(0)
For Each argument In arguments
For Each cell In argument
If cell <> "" Then
temp(UBound(temp)) = cell
ReDim Preserve temp(UBound(temp) + 1)
End If
Next cell
Next argument
ReDim Preserve temp(UBound(temp) - 1)
iRows = Range(Application.Caller.Address).Rows.Count
For i = UBound(temp) To iRows
ReDim Preserve temp(UBound(temp) + 1)
temp(UBound(temp)) = ""
Next i
MergeRanges = Application.Transpose(temp)
End Function