0
這是我的代碼,但它似乎並沒有工作。我不知道爲什麼......如何在VBA中編寫最大功能?
Function maximum()
Dim i As Integer
Dim dernLigne As Long
Dim somme as Variant
somme = 0
lastLigne = Range("C65536").End(xlUp).Row
Range("C65536").Value = valuemax
i = 2
While i <= lastLigne
If Range("C" & i).Value > valeurmax Then
valuemax = Range("C" & i).Value
i = i + 1
End If
Wend
maximum = valeurmax
End Function
感謝
您有一個錯字。在兩個地方,你使用的是'valeurmax',而另外一些則使用'valuemax'。和這行'Range(「C65536」)。Value = valuemax'將不起作用,如果你從工作表中調用這個函數。同樣它也會一直是'0',因爲那時'valuemax'就是一無所有。 –
爲什麼不使用'Application.WorksheetFunction.Max()'? (如果你從工作表中調用它,或者只是'Max()'本身)。 –
UDF無法寫入工作表;例如'Range(「C65536」)。Value = valuemax'。在@JohnColeman建議的工作表上使用Application.Max(...)或MAX(...)。 – Jeeped