【发布时间】:2019-01-31 18:50:40
【问题描述】:
我在模块二中创建了一个名为 "t_value" 的公共函数。我现在想在用户表单的 VBA 代码中使用这个函数,它使用来自用户表单的输入。
这是函数:
Public Function t_value(theta As Variant)
Dim theta_1 As Integer, theta_2 As Integer
Dim A As Variant, B As Variant, s As Variant
theta_1 = Application.WorksheetFunction.Floor(theta, 5)
theta_2 = Application.WorksheetFunction.Ceiling(theta, 5)
A = theta - theta_1
B = theta_2 - theta_1
s = A / B
t_value = s
End Function
这是我想在上面的函数中使用的代码:
Private Sub Submit_Click()
Dim theta As Variant, alpha As Variant, t As Variant, u As Variant
theta = UserForm1.theta_input.Value
alpha = UserForm1.alpha_input.Value
t = Application.WorksheetFunction.t_value(theta)
End Sub
通常"Application.WorksheetFunction.[function]" 有效,但在这种情况下它对我不起作用 - 我认为这可能是由于我创建了公式。将公式放入 Sub 会更容易吗?我担心运行时间。我比较新,所以我对 VBA 语法并不完全熟悉。
【问题讨论】:
-
为什么您希望您的函数在预定义的
Application.WorksheetFunction下可用?如果你把它放在一个模块中,只需调用它t_value(theta)。 -
这就是我过去回忆(预定义)函数的方式。我不知道模块可能会有什么不同。感谢您的帮助!
-
++ 高质量的第一个问题 :) 干杯并欢迎来到 StackOverflow。