excel工作簿中很多工作表,每个工作表中单独取数汇总

1、一个工作簿中有几百个工作表(如1-6),
2、每个工作表格式一样(A1、A2等表示数字)

img

3、现在做一个一个汇总表显示所有工作表(1-6)中A1的数字

img

4、实际工作表数量很多,要使用公式批量取数。(汇总表中B2=“1“A1,中的“1“能否根据提取的工作表自动化)
5、工作表名称也要自动提取。

用vba


Sub aa()
    n = Worksheets.Count
    For i = 2 To n
        Sheet1.Cells(i, 1).Value = Sheets(i).Name
        Sheet1.Cells(i, 2).Value = Sheets(i).Cells(1, 1).Value
    Next
End Sub

img

这样O不Ok?
不需要vba,请看我的下载资源

img

Function GetV(rgSheetName As Range, rg As Range)

    Dim i As Integer
    Dim cnt As Integer
    cnt = ThisWorkbook.Sheets.count
    
    '遍历所有表
    For i = 1 To cnt
        '表名相同时,取对应单元格的值
        If rgSheetName.Text = ThisWorkbook.Sheets(i).Name Then
            GetV = ThisWorkbook.Sheets(i).Range(rg.Text).Value
            Exit Function
        End If
    Next
    
    '没有表名时提示
    GetV = "#没有" + rgSheetName.Text + "表"

End Function

img