目标寻找多行 – MS-Excelmacros

我有5028行,不包括标题和3列,想通过改变列“B”中的值在“C”中设置值1.7。

使用目标search选项它可能只有一个单元格。 我想为5028行做同样的事情,请帮忙通过运行一些macros来完成任务。

约翰·布斯托斯指出了正确的想法,这里是一个工作的解决scheme:

Public Sub Demo() Dim rngRow As Range For Each rngRow In UsedRange.Rows rngRow.Cells(1, 3).GoalSeek Goal:=1.7, ChangingCell:=rngRow.Cells(1, 2) Next rngRow End Sub 

编辑:

使用ActiveSheet.UsedRange.Rows而不是UsedRange.Rows ,如果你打算把这个作为一个模块中的macros使用,而不是作为工作表之一 – 或者对有效范围的任何其他引用。

对于你的例子,你可能更喜欢使用: Range("A2:C5028").RowsMySheet.Range("A2:C5028").Rows

编辑:

 Public Sub Demo() On Error Resume Next Dim rngRow As Range For Each rngRow In ActiveSheet.UsedRange.Rows rngRow.Cells(1, 3).GoalSeek Goal:=1.7, ChangingCell:=rngRow.Cells(1, 2) Next rngRow End Sub 

您可以创build一个循环的macros,然后执行Range-Goal seek – http://msdn.microsoft.com/zh-cn/library/office/bb209907%28v=office.12%29.aspx