我想让Goalseek运行几列(“BB:BP”)。目前仅在以下方式中使用列“BB”:若干列的Goalseek
当单元格“BB62”中的值等于单元格“BB61”中的值时,单元格“BB63”中的值发生变化。
这是代码:
Sub Goalseek()
With Worksheets("sheet_input")
.Range("bc62").GoalSeek _
Goal:=.Range("bc61").Value, _
ChangingCell:=.Range("bc63")
End With
End Sub
我想创建一个循环,使得它所有的工作方式与列“BP”当我运行一个宏。我想出了以下几点:
Public Sub Goalseek()
Dim rngCol As Range
For Each rngCol In ActiveSheet.Range("BB61:BP63")
rngCol.Cells(54, 62).GoalSeek Goal:=rngCol.Cells(54, 61), ChangingCell:=rngCol.Cells(54, 63)
Next rngCol
End Sub
但它不工作。我收到以下错误:
Compile error: Only comments may appear after End Sub, End Function, or End Property
我在做什么错?
嗨Ambie。感谢您的答复。我忘了定义的范围。它正在工作。当我想“重新启动”goalseeker时,我将第63行中的值设置为0.是否有一种方法可以将其自动化,因此在运行宏之前,所有单元格值都设置为0? – Saud
'rng.Offset(1).Value = 0' – Ambie
辉煌。有效。我需要这个宏完全自动化的最后一件事是调整新行,第64行依赖于第61行和第62行,如下所示:如果'行中的单元格中的值'> ='行中的单元格中的值62',则'行64中的单元格中的值'= 1,否则它等于-1。这需要在搜索目标被初始化之前完成,否则对于所有列将等于1。逻辑很直观,但我不确定在哪里插入它。子Goalseek() 昏暗的RNG作为范围 昏暗的小区范围 设置RNG = ThisWorkbook.Worksheets( “sheet_input”)的范围。( “BB62:BP62”) RNG – Saud