目标寻找多行 – 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").Rows
或MySheet.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