Вы можете использовать Norm_Dist для нормального распределения в VBA, которое будет работать как np.random.normal.
Dim dblNorm_Dist As Double
dblNorm_Dist = WorksheetFunction.Norm_Dist(Arg1:= ,Arg2:= ,Arg3:= ,Arg4:= )
Arguments:
Arg1: Double
Arg2: Mean - The arithmetic mean of the distribution.
Arg3: Standard_dev - The standard deviation of the distribution.
Arg4: "Cumulative - A logical value that determines the form of the function. If cumulative is TRUE
Поскольку вышеупомянутый метод не дает возможности упомянуть размер, чтобы вы могли его вызвать в l oop и затем вернуть массив:
For i=1 to T
RandomArray=WorksheetFunction.Norm_Dist(Arg2:=mu / T, Arg3:=vol / Sqr(T))
Next i