【发布时间】:2017-11-23 02:46:59
【问题描述】:
很久了,第一次。
我正在为油气田工作中的修井机创建一张工作表。每张纸的结构相同,但代表不同的工作日。我有在需要新的日子时添加和减去工作表的按钮,这使我的主要问题变得复杂:
我需要创建一个函数来计算工作簿中该表的各种类别的累积成本。我需要一种方法来引用与包含函数的单元格相邻的单元格(包含当天的成本),以及前一张纸的累积成本(或每张前一张纸的每日成本,在同一张纸后面的同一单元格中)来创建一个新的累积值。我希望每张纸的累积到那天为止。
子程序会更有利于这一点,但我不希望有人必须单击按钮才能在这些单元格中生成累积值。它需要随着信息的增加而自动计算。
到目前为止,我所拥有的如下。工作表由工作的编号日期(1、2、3、4 等)命名,每个工作表中的单元格 AD7 也包含工作当天的值。基本上我需要的是一种“每天”提取和使用输入单元格地址的方法。
Function Cat_Cum(daily)
Dim day, i As Integer
day = Cells(7, 30)
For i = 1 To day
If i = 1 Then
Cat_Cum = Sheets(i).Cells(daily.Address)
Else
Cat_Cum = Sheets(i).Cells(daily.Address) + Cat_Cum
End If
Next i
End Function
回顾工作表结构:
2 列:每日费用、累计费用。 每张纸的结构都相同。 累积值应该是同一单元格中每个先前工作表的每日值的总和。
感谢您的帮助!
【问题讨论】:
-
您的函数名称是我建议开发人员不要缩写标识符的众多原因之一。使用自动完成/智能感知/whatever_you_want_to_call_it,长(描述性)名称不再是问题。
-
哈,我什至没有注意到这一点。带有长 u 的 Cum 是石油和天然气行业中经常使用的一个词,作为累积的替代词。这是一个有趣的组合。