我有以下代码:它工作正常,但我想在代码的最后部分改进它,如果 contador = 0,我想要 mespt="No se Considera" 而不是只返回 0。
Public Function mespt(tutor As String, mes As String, j As Long) As Double
Application.Volatile
Dim a As Long
Dim totalmesp As Double
mespt = 0
contador = 0
totalmespt = 0
For i = 4 To 1000
If Sheets("Hoja1").Cells(i, 2).FormulaR1C1 = tutor And Sheets("Hoja1").Cells(i, 5).FormulaR1C1 = mes Then
Select Case Sheets("Hoja1").Cells(i, j).Value
Case "No cumple"
a = 0
contador = contador + 1
Case "Regular"
a = 1
contador = contador + 1
Case "Pleno"
a = 3
contador = contador + 1
Case "No se considera"
a = 0
End Select
totalmespt = totalmespt + a
If contador = 0 Then
mespt = 0
Else
mespt = totalmespt / contador
End If
End If
Next
End Function
我已经通过以下方式使用了变体:
Funcion mespt( ) as Variant
.......
if contador = 0 then
mespt="No se considera" then
mespt=totalmespt/contador
end if
end function
但在 contador=0 的情况下,该函数只返回 #!Valor
抱歉,使用变体类型,它可以正常工作,正如我现在所期望的那样,问题只是 Excel 中的一个公式与函数 mespt 一起使用。