我有 5028 行,不包括标题和 3 列,想通过更改“B”列中的值在“C”列中设置值 1.7。
使用目标搜索选项只能用于一个单元格。我想对 5028 行做同样的事情,请通过运行一些宏来帮助完成任务。
最佳答案
John Bustos 指出了正确的想法,这是一个可行的解决方案:
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
,如果您打算将其用作模块中的宏,而不是作为工作表之一 - 或对有效范围的任何其他引用。对于您的示例,您可能更喜欢使用:
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
关于vba - 目标寻找多行 - MS-Excel 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13401165/