我有我的代碼爲我的函數:我在j函數的輸出是一列的位置。在函數內部,「i」查找與變量「tutor」和「mes」相匹配的行的位置,然後給出單元格的值(i,j)。EXCEL VBA函數與SELECT CASE,ELSE
單元格(i.j)的值來自Excel表單的列表。列表的值是:「沒有cumple」,「Regular」,「Pleno」,「不考慮」。在內部,函數將0分爲「無累加」,1爲「正常」,3爲「Pleno」,0爲「不考慮」。
這些函數旨在計算每個輸入的值的均值(「導師」,「mes」,「j」)
當案件「沒有考慮」是在一個單元格中,這意味着如果,例如,有5個值必須calculare的意思是「不考慮」,所以函數只需要計算4個值的平均值。
問題是函數在單元格(ij)的值不起作用時,是「沒有考慮」
代碼如下:
Public Function mespt(tutor As String, mes As String, j As Long)
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
Case "Regular"
a = 1
Case "Pleno"
a = 3
Case Else
contador = contador - 1
a = 0
End Select
totalmespt = totalmespt + a
contador = contador + 1
mespt = totalmespt/contador
End If
Next
End Function
你'康塔=康塔多 - 1'其次是'康塔=康塔+ 1' – user2140261