VBA编程示例与技巧全解析
1. 跨工作表计算函数
在处理Excel工作表时,我们常常需要对多个工作表中的数据进行计算。比如,要确定多个工作表中单元格B1的最大值,通常会使用公式 =MAX(Sheet1:Sheet4!B1) ,这个公式能返回Sheet1到Sheet4以及它们之间所有工作表中单元格B1的最大值。但当添加新工作表(如Sheet5)后,公式不会自动调整,需要手动编辑为 =MAX(Sheet1:Sheet5!B1) 。
为了解决这个问题,我们可以使用 MaxAllSheets 函数。该函数接受一个单元格参数,并返回该单元格在工作簿所有工作表中的最大值。示例代码如下:
Function MAXALLSHEETS (cell)
Dim MaxVal As Double
Dim Addr As String
Dim Wksht As Object
Application.Volatile
Addr = cell.Range("A1").Address
MaxVal = -9.9E+307
For Each Wksht In cell.Parent.Parent.Worksheets
If Wksht.Name = cell.Parent.Name And _
Addr = Application.Caller.Address Then
' avoid circular reference
Else
超级会员免费看
订阅专栏 解锁全文

6374

被折叠的 条评论
为什么被折叠?



