gpt4 book ai didi

excel - 使用 Select Case 语句的公共(public)函数会输出 #VALUE!错误

转载 作者:行者123 更新时间:2023-12-04 20:42:45 25 4
gpt4 key购买 nike

根据我书中的一个陈述,它正在计算我选择作为 Select Case letter 的 PV=NRT 值。

Public Function ATHING(SolveFor As String, v1 As Single, v2 As Single, v3 As Single, v4 As Single) As Variant

Dim p As Single
Dim v As Single
Dim n As Single
Dim R As Single
Dim t As Single

Select Case SolveFor

Case "P"
n = v1
R = v2
t = v3
v = v4
ATHING = n * R * t / v

Case "V"
n = v1
R = v2
t = v3
p = v4
ATHING = n * R * t / p

Case "N"
p = v1
v = v2
R = v3
t = v4
ATHING= p * v / (R * t)

Case "R"
p = v1
v = v2
n = v3
t = v4
ATHING = p * v / (n * t)

Case "T"
p = v1
v = v2
n = v3
R = v4
ATHING = p * v / (n * R)

Case Else
ATHING = "CAN'T FIND VARIALBE TO SOLVE FOR, DO IT AGAIN"

End Select

End Function

如果我在 Select Case 的位置放置一个数字,它会返回 Else Case。但是如果我在里面放一个 Case 的信,它会返回 #VALUE!错误,这意味着我在某处输入了不正确的内容。

该函数位于模块内,因此这不应该是问题。

有什么明显的吗?

最佳答案

解决方案,用数字替换大小写“”的字母。 Excel 不喜欢在其函数中包含字母和数字,不知道为什么。我使用 0-4 来表示 PV=NRT,因为它们出现在等式中。

Public Function ATHING(SolveFor As String, v1 As Single, v2 As Single, v3 As Single, v4 As Single) As Variant

Dim p As Single
Dim v As Single
Dim n As Single
Dim R As Single
Dim t As Single

Select Case SolveFor

Case "0"
n = v1
R = v2
t = v3
v = v4
ATHING = n * R * t / v

Case "1"
n = v1
R = v2
t = v3
p = v4
ATHING = n * R * t / p

Case "2"
p = v1
v = v2
R = v3
t = v4
ATHING= p * v / (R * t)

Case "3"
p = v1
v = v2
n = v3
t = v4
ATHING = p * v / (n * t)

Case "4"
p = v1
v = v2
n = v3
R = v4
ATHING = p * v / (n * R)

Case Else
ATHING = "CAN'T FIND VARIABLE TO SOLVE FOR, DO IT AGAIN"

End Select

End Function

关于excel - 使用 Select Case 语句的公共(public)函数会输出 #VALUE!错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29177935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com