我试图创建一个不同的用户可以将有不同数量的行针对每个用户的一列执行以下功能的功能的,但我可以不知道如何考虑行数的变化。在列执行VBA函数具有未知数量的行
Function MKT(ByVal Temperatures As Variant) As Double
Dim Sum As Double
Dim TemperatureCount As Long
Dim GasConst As Double
Dim DeltaH As Double
Dim Conv As Double
Conv = 273.15
GasConst = 8.314472
DeltaH = 10 * GasConst
Sum = 0
For TemperatureCount = Temperatures.Cells.Count To 1 Step -1
Sum = Sum + Exp(-DeltaH/(GasConst * (Temperatures(TemperatureCount) + Conv)))
Next TemperatureCount
MKT = (DeltaH/GasConst)/(-Log(Sum/Temperatures.Cells.Count)) - Conv
End Function
的功能的工作原理,如果我所述小区设置值= MKT(A1:A32557),但如果我做= MKT(A:A)。
我认为这可以帮助,但我不知道如何实现它:
Dim lastRow As Long
lastRow = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
此外,有可能通过1行偏移值要占一个头?
UsedRange并不总是最新的;依靠单元格值更安全。理想情况下,你应该有一个列将包含函数应该工作的每一行的值,并且只包含这些行的值;如果不是,只要您还没有在该表下填充单元格,则End(xlUp)上的一些变体应该可以工作。 – 2011-06-06 18:23:16