如何创建excel功能?

时间:2017-04-09 09:06:02

标签: excel vba excel-vba

我有一张excel表来计算一些数字 excel sheet

我想创建一个可以改变H4:H7中值的excel函数。然后捕获E9中的输出并返回值。

我试过这个:

Public Function Isokinectic(number1 As Double)
Worksheets("Sheet2").Range("H4:H7").Value = number1
Isokinectic = Worksheets("Sheet2").Range("H9").Value
End Function

目的是我得到许多需要进入H4:H7并且在H9中返回值的数字。

谢谢!

1 个答案:

答案 0 :(得分:1)

您的功能有什么问题?在我的测试中,它完全符合我的预期代码。但是,如果从工作表中调用它,则参数var result = db.Database.ExecuteSqlCommand("sp_RiskAssessmentQuestion_Copy2Network @pNetworkHealthAssessmentID, @pRiskAssessmentQuestionsID, @pUserID, @pSortOrder" , param1, param2, param3, param4) 将出错。您可以将其称为,= Isokinectic(A1),其中A1包含您要处理的数字。但A1是一个范围,你的功能必须如此对待它。

number1 As Double

当然,这仍然是一个问题,为什么你想在某个地方(无论你在哪里调用你的UDF)写入H9中的值。试图理解它,我得到了这个解决方案,从H7 Function Isokinectic(Source As Range) With Worksheets("Sheet2") .Range("H4:H7").Value = Val(Source) Isokinectic = .Range("H9").Value End With End Function 调用。

= Isokinctic(H4)

在这种情况下,你可以在H4中输入数字,在H7中输入公式,并获得用相同数字填充的范围H5:H7 - 只是想一想,哈哈: