Excel VBA GoalSeek 按表格中的每一行

Posted

技术标签:

【中文标题】Excel VBA GoalSeek 按表格中的每一行【英文标题】:Excel VBA GoalSeek by each row in a table 【发布时间】:2021-10-17 03:16:53 【问题描述】:

我希望在指定表格的每一行中执行目标搜索。以下 VBA 代码成功执行了 GoalSeek。

Sub GoalSeek()
 Dim lo As ListObject
 Dim rw
 Set lo = Sheet1.ListObjects("Table1")

 For rw = lo.DataBodyRange.Rows.Count To 1 Step -1
  Range("M" & rw).GoalSeek Goal:=Range("N" & rw).Value, ChangingCell:=Range("E" & rw)
 Next
End Sub

一直执行失败,产生运行时错误1004:Range类的GoalSeek方法失败

f

关于如何解决的任何建议?我在下面附上了工作簿的副本。

Excel file copy

【问题讨论】:

【参考方案1】:

在您的循环中,您已到达第一行,并且无法 GoalSeek 该行。所以改这行代码

For rw = lo.DataBodyRange.Rows.Count To 1 Step -1  
to =>  
For rw = lo.DataBodyRange.Rows.Count To 2 Step -1

【讨论】:

今天有没有人告诉过你他们很感激你? @Xshen。那行得通。谢谢!

以上是关于Excel VBA GoalSeek 按表格中的每一行的主要内容,如果未能解决你的问题,请参考以下文章

如何用EXCEL VBA批量提取JPG文件日期时间信息到表格中?

将数据从 Excel 文件导入 MSAccess 格式化 VBA 中的每一列

vba如何新建一个excel并且从另一个excel中导入数据到这个新建的excel中?

如何在excel 用VBA插入多个工作表并命名。要用到宏。给分给分~

VBA实现将EXCEL数据导入WORD表格

Excel VBA 宏 - 在循环中连接