我有一个Excel文件,其中包含名为1、2、3等的工作表。这些工作表包含我希望在相同区域中分析的数据。我希望在单个工作表(我们称之为主工作表)中分析这些数据。
例如,对于主工作表的B2单元格,我希望取工作表1的范围B2:B11的平均值。对于C2单元格,我希望取工作表1的范围C2:C11的最小值,依此类推。
同样,对于主工作表的B3单元格,我希望取工作表2的范围B2:B11的平均值。对于C3单元格,我希望取工作表2的范围C2:C11的最小值,依此类推。
为此,我在Excel中找不到任何快捷方式,所以我想写一个VBA代码就可以了。但是我对它不是很熟悉,所以我有点卡住了。
Sub MasterWorksheet()
Dim i as integer
Dim TotalNumberofWorksheets As Integer
TotalNumberofWorksheets = 99
For i to TotalNumberofWorksheets:
ActiveWorkbook.Worksheets("Master Worksheet").Cell(2, i+1).Value = ActiveWorkbook.Worksheets(i).Range("B2:B11").Average()
ActiveWorkbook.Worksheets("Master Worksheet").Cell(2, i+1).Value = ActiveWorkbook.Worksheets(i).Range("C2:C11").Min()
...
End Sub
我试过这个,但是没有用。有什么想法怎么写吗?
1条答案
按热度按时间ohfgkhjo1#
For循环的正确语法为
因此,在结束步骤之后不需要
:
,而需要i = startValue
我怀疑您的工作簿中是否有99个工作表,因此我将代码更改为
这样,您还可以获得不包括主页面的安全性。