gpt4 book ai didi

excel - 从 range.formula 函数获取错误消息

转载 作者:行者123 更新时间:2023-12-04 22:25:36 25 4
gpt4 key购买 nike

我尝试运行此子程序以生成随机样本,但是当我尝试修复公式时,我在单元格“名称”中仅收到一条错误消息,处于获取值的状态。
有人可以帮忙吗?

这是代码,谢谢:

Option Explicit

Sub Simulation()

Dim iSize As Integer, pMean As Double, pSD As Double, iBins As String

iBins = 15
iSize = InputBox("New sheet: The size of your sample:", , 100)
pMean = InputBox("New sheet: The mean of yoursample:", , 10)
pSD = InputBox("New sheet: The SD of your sample:", , 0.2)

Set oWS = Worksheets.Add(, ActiveSheet)

Range(Cells(1, 1), Cells(iSize, 1)).Formula = "=Application.WorksheetFunction.NormInv(Rnd(), " & pMean & " , " & pSD & ")"
Range(Cells(1, 1), Cells(iSize, 1)).Formula = Range(Cells(1, 1), Cells(iSize, 1)).Value

Range("E1") = Application.WorksheetFunction.Average(Columns(1))
end sub

最佳答案

如果您键入 =Application.WorksheetFunction.NormInv(Rnd(), 10, 0.2)在工作表单元格中,您将得到完全相同的 #NAME?错误,因为 Excel 不知道任何 Application.WorksheetFunction.NormInv功能。

Excel 不是 VBA,VBA 不是 Excel - VBA 托管在 Excel 中,您的 VBA 项目引用 Excel 的类型库,它定义了诸如 Application 之类的内容, Range , 和 WorksheetFunction.NormInv .

写信给 Range.Formula 时,您希望该值与您在 Excel 的公式栏中键入的值完全相同。

您还需要正确限定这些 RangeCells调用:

With oWS
.Range(.Cells(1, 1), .Cells(iSize, 1)).Formula = "..."
End With

在哪里 "..."看起来和 PaichengWu's answer 中的完全一样, 除非你想使用 Excel 的 RAND函数而不是 VBA 的 Rnd功能。

关于excel - 从 range.formula 函数获取错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57996161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com