다음 코드를 사용합니다. 문제가 없지만 contador = 0 인 경우 코드의 마지막 부분에서 개선하고 싶습니다. mespt = "아니오 자체 considera"대신 단지 0VBA Excel- 숫자 또는 문자열을 반환하는 함수
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
I`ve는 다음과 같은 방법으로 변형 사용 반환 :
Funcion mespt( ) as Variant
.......
if contador = 0 then
mespt="No se considera" then
mespt=totalmespt/contador
end if
end function
그러나 케이스 콘타 도르 = 0에서 함수를 바로 반환 #! Valor
죄송합니다. 내가 지금 예상대로 변종 유형 괜찮아 workink이야, 문제는 함수 mespt와 함께 작동 엑셀의 수식과 함께했다.
Varient로 환원하는 것은 어떻습니까? – JSJ
@jsj : 유효한 답변입니다. :) 당신은 대답으로 그것을 넣을 수 있습니다? –
내 코드를 구현하여 내 권장 사항을 확인하십시오. 불행히도 작동하지 않습니다. – CreamStat