从单独的工作表中合并5个表格excel

时间:2017-08-20 11:12:47

标签: excel vba excel-vba-mac

我在单独的工作表上有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

0 个答案:

没有答案