发布网友 发布时间:2022-05-04 09:54
共4个回答
热心网友 时间:2022-06-20 22:06
在需要结果的地方输入这个公式:=SUM(Sheet1:Sheet5!A5)
将公式中的Sheet1改为你第一个工作表的名称,Sheet5改为最后一个工作表的名称,
A5改为你要求和的单元格按回车就行了。
热心网友 时间:2022-06-20 22:06
这个很简单,问题是特定的单元格是哪些?我假设都是单元格a1,颜色填充红色。热心网友 时间:2022-06-20 22:07
不用vba热心网友 时间:2022-06-20 22:07
代码如下:
Sub test()
Dim mypath, myfile, wb, i, j
Range("A1").CurrentRegion.Offset(1, 0).ClearContents '开始提取之前清除除表头之外的内容
mypath = ThisWorkbook.Path & "\" '找到当前工作簿的路径
myfile = Dir(mypath & "*.xlsx") '遍历当前路径下的工作簿
Do While myfile <> "" '当找到的文件不为空时
If myfile <> ThisWorkbook.Name Then '当找到的文件不是本工作簿时
Set wb = GetObject(mypath & myfile) '利用GetObject取得数据
With wb.Sheets(1) '对wb的sheet1进行操作
i = .[a1048576].End(xlUp).Row '得到wb的最后一行
j = [a1048576].End(xlUp).Row + 1 '得到当前工作表的最后一行
Range("A" & j) = .Range("A1") '开始赋值了
Range("B" & j) = .Range("B" & i)
Range("C" & j) = .Range("C" & i)
Range("D" & j) = .Range("D" & i)
Range("E" & j) = .Range("E" & i)
Range("F" & j) = .Range("F" & i)
End With
wb.Close '别忘了关掉,要不然越开越多电脑就瘫痪了
End If
myfile = Dir '去找下一个工作簿
Loop
End Sub
汇总的表要和那些明细表放同一个文件夹下,这样就可以用mypath = ThisWorkbook.Path & "\" 取得文件夹的路径了,i和j分别是取到明细表和汇总表的最后一行,End属性不明白的可以百度一下。