0
私は、サブルーチンを呼び出すための乱数型を返す、一連のVBA関数をExcelで書くことを試みています。より複雑な数式に入ると、同様のエラーが発生します。例えば、非対称三角ランダム変数。ここでVBAに三角形の乱数を返す関数を書く
は、関数である:私は受け付けており
Function AsymetricTriangleInVBA (min As Double, mode As Double, max As Double) As Double
Application.Volatile
Randomize
Dim Temp As Variant
Temp = Rnd
AsymetricTriangleInVBA = WorksheetFunction.if(Temp < ((mode - min)/(max - min)), min + (max - min) * WorksheetFunction.sqrt(((mode - min)/(max - min)) * Temp), min + (max - min) * (1 - WorksheetFunction.sqrt((1 - ((mode - min)/(max - min))) * (1 - Temp))))
End Function
'my test sub
Sub test()
MsgBox AsymetricTriangleInVBA(5, 10, 15)
End Sub
一貫性のエラーは、次のとおりです。
をサポートしていません。ファイル名を指定して実行時エラー '438': オブジェクトはこのプロパティまたはメソッド
このエラーは何を意味し、どのように修正できますか?
あなたがする必要があります何のWorksheetFunction.IFはありませんifのvba形式を使用します。 –
'WorksheetFunction.if'を' IIF'に置き換えてみてください – Slai
Slim-iifが機能しませんでした。同じエラー –