首页 > 解决方案 > 尝试使用目标作为可变值的 vba 执行目标搜索

问题描述

我的按钮有问题。我想创建一个在单击时执行目标搜索分析的按钮。目标搜索函数是一个简单的反向 DCF 计算,它应该找到当前股票价格的隐含增长率。

Private Sub CommandButton1_Click()
Dim Price As String, ImpliedPrice As String
Set ws = Sheet2
Set ws1 = Sheet6

ws.Select
Price = Range("C11")

ws1.Select
ws1.Range("G39").Select
ActiveCell.Value = Price


ws1.Select
Range("G38").GoalSeek Goal:=Price, ChangingCell:=("G8")

End Sub

变量如下:Sheet2 是我从中获取当前价格的地方,Sheet6 是 DCF 模型所在的地方,应该执行目标搜索。

G38 = 对隐含股价的参考,在参考单元格中,我将股票价值简单地除以流通股,以便也能够以正常方式使用 DCF。

G8 = 收入增长率假设

执行代码时出现 1004 运行时错误,但我不确定为什么?如果有人能帮我弄清楚为什么会出现这个运行时错误,那就太好了。已经谢谢了

标签: excelvbaruntime-error

解决方案


如果您为您选择工作表的内容设置工作表变量?

试试下面。

Private Sub CommandButton1_Click()
Dim Price As String, ImpliedPrice As String
Set ws = thisworkbook.worksheets(Sheet2.name)
Set ws1 = thisworkbook.worksheets(Sheet6.name)

Price = ws .Range("C11")

ws1.Range("G39") = Price

ws1.Range("G38").GoalSeek Goal:=Price, ChangingCell:=ws1.range("G8")

End Sub

推荐阅读