我的朋友和我在互联网上搜索了一个答案。我是VBA的新手,我的功能总是返回0.对此有一些帮助会很棒。以下是我的代码:
Function OnlineAbs(x As Date, y As Date, z As Date)
If x > 0 Then
If y > 0 Then
result = "Online - Images"
Else
If z > 0 Then
result = "Online - DT Images"
Else
result = "Online - No Images"
End If
End If
Else
result = "Abstract"
End If
End Function
答案 0 :(得分:1)
VBA中的函数返回有点不同。将要返回的值设置为函数名称将返回该值。
Function OnlineAbs(x As Date, y As Date, z As Date)
If x > 0 Then
If y > 0 Then
OnlineAbs = "Online - Images"
Else
If z > 0 Then
OnlineAbs = "Online - DT Images"
Else
OnlineAbs = "Online - No Images"
End If
End If
Else
OnlineAbs = "Abstract"
End If
End Function
答案 1 :(得分:1)
此代码段存在几个问题:
一个小的语法错误:为了纠正它,保持代码更改最小,只需在函数结束前添加一个行语句(如Siddharth Rout所建议),即.H5_green_left {
font-family: Arial, Helvetica, sans-serif;
font-size: 15px;
font-style: normal;
font-weight: 400;
font-variant: normal;
color: #009900;
padding-left: 4px;
.web_description {
font-family: Arial, Helvetica, sans-serif;
font-size: 30px;
font-style: normal;
font-weight: 300;
color: #009900;
text-align: left;
}
@media screen and (max-width: 1200px){
.H5_green_left {
font-size: 13px;}
.web_description {
font-size: 20px;}
.H1_tan_italic_L {
font-size: 24px;
}
}
@media screen and (max-width: 768px){
.H5_green_left {
font-size: 11px;}}
.web_description {
font-size: 12px;}
.H1_tan_italic_L {
font-size: 15px;
}
}
之前的.H5_green_left
更严重的问题是业务逻辑中的潜在缺陷(可能的类型不匹配):Excel中的.web_description
类型工作表/ VBA具有基础值(例如,当前DateTime的工作表函数将返回:{ {1}};在VBA中对应的函数是CDbl(x)),对于大多数实际情况,对于1/1/1900之后的任何日期(1/1/1900的基础值为1),大于0;因此,您的函数将在1/1/1900之后的任何日期返回OnlineAbs = result
。
我建议验证您的业务逻辑。亲切的问候