gpt4 book ai didi

VBA GoalSeek 循环问题

转载 作者:行者123 更新时间:2023-12-02 21:39:11 25 4
gpt4 key购买 nike

我是 VBA 方面的新手,在我的第一个代码中,我尝试为 GoalSeek 函数循环遍历 2 列(P 和 J)。

设置的单元格是 P2 然后 P3 然后 P4 等等。而更改单元格为 J2、J3 等。

我想从第 2 行迭代到第 N 行(数字 N 存储在单元格 D1 中)

这是我写的:

N = ThisWorkbook.Sheets("Reverse DCF").Range("D1").Value

Dim i As Integer

For i = 2 To N
Range(Cells((i), "P")).GoalSeek Goal:=0, ChangingCell:=Range(Cells((i), "J"))
Next i

我收到一条错误消息:

 "Method 'Range' of object '_Global' failed.

很抱歉,我没有发现我的代码有问题。

最佳答案

您可以使用没有范围单元格。这是一个工作示例。确保单元格 N 包含整数,并且 Pi 到 PN 包含公式。

Sub GoalSeekTest()

Dim N As Integer
Dim i As Integer

N = ThisWorkbook.Sheets("Reverse DCF").Range("D1").Value

For i = 2 To N
If Cells(i, "P").HasFormula Then
'Messagebox for clarification
MsgBox ("Formula cell: " & Cells(i, "P") _
.Address(RowAbsolute:=False, ColumnAbsolute:=False))

Cells((i), "P").GoalSeek Goal:=0, ChangingCell:=Cells((i), "J")
Else
MsgBox "Cell " & Cells(i, 1) _
.Address(RowAbsolute:=False, ColumnAbsolute:=False) _
& " has no formula - skipping this cell!", _
vbCritical, "Formula required!"
End If
Next i
End Sub

关于VBA GoalSeek 循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34897910/

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