excel怎么计算整个工作簿中的所有工作表某一特定单元格的和?

2024-11-25 13:01:15
推荐回答(4个)
回答1:

在需要结果的地方输入这个公式:=SUM(Sheet1:Sheet5!A5)

将公式中的Sheet1改为你第一个工作表的名称,Sheet5改为最后一个工作表的名称,

A5改为你要求和的单元格按回车就行了。

回答2:

这个很简单,问题是特定的单元格是哪些?我假设都是单元格a1,颜色填充红色。
则代码:
sub
宏1()
sheets("sheet1").select
range("a1").select
with
selection.interior
.pattern
=
xlsolid
.patterncolorindex
=
xlautomatic
.color
=
255
.tintandshade
=
0
.patterntintandshade
=
0
end
with
end
sub
以上代码为将sheet1,sheet2以及sheet3三个工作表的a1单元格涂成红色。

回答3:

不用vba
=sum(sheet1:sheet5!a5)
只要把sheet1改为你第一个工作表的名字,sheet5改为你最后一个工作表的名字即可。

回答4:

代码如下:

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属性不明白的可以百度一下。