从多个工作表的多个工作簿总和行单元格的值,并将其粘贴纵列(Sum row cell values f

2019-10-19 17:30发布

这是一个问题在这里第2部分: 从多个工作表的多个工作簿总和单元格的值-宏

总结我的要求:我有50个工作簿。 每个有3个工作表(共6.其他3是不相关的)。 只有第一行的值(比方说从单元格A1 10个值N1在sheet1,2and3)。 我想从每个工作表的单独从每个工作簿求和的第一行的值,并将其粘贴在宏工作簿在片1中,在一列。 (所以我会得到30个值的最后一列)。

我试图继续从以前的问题的代码。 但我不能这样做。 唯一的修改是将其粘贴在纵列单片(列d)。 任何帮助将不胜感激。

Answer 1:

试试这个:

Sub SUM_Workbooks()
    Dim FileNameXls, f
    Dim wb As Workbook, i As Integer

    FileNameXls = Application.GetOpenFilename(filefilter:="Excel Files, *.xls*", MultiSelect:=True)

    If Not IsArray(FileNameXls) Then Exit Sub

    Application.ScreenUpdating = False
    'clear previous values
    ThisWorkbook.Sheets("Sheet1").Range("A1:A30").Clear
    For Each f In FileNameXls
        Set wb = Workbooks.Open(f)
        For i = 1 To 3
            wb.Worksheets(i).Range("A1:N1").Copy
            'change Sheet1 to suit
            ThisWorkbook.Sheets("Sheet1").Range("A" & 1 + 10 * (i - 1)).PasteSpecial Paste:=xlPasteValues, Operation:=xlAdd, Transpose:=True
        Next i
        wb.Close SaveChanges:=False
    Next f

    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub


文章来源: Sum row cell values from multiple workbooks with multiple worksheets and paste it columnwise