繁体   English   中英

目标搜寻宏,更改单元格引用不是硬值

[英]Goal seek macro, changing cell reference not a hard value

我正在尝试为我的Excel模型制作目标搜索宏。 是否有可能创建一个宏,该ChangingCell并不是一个硬性值但指的是硬值相等的公式。

Range("D1").GoalSeek Goal:=0.17, ChangingCell:=Range("D424")

因此,在这种情况下,单元格D424将等于其中具有硬值的另一个单元格。 为什么我设置的原因ChangingCell直接D424是我们的目标寻求基于对文件的各种选项的变化细胞变化的参考。

您可以使用单元格D424上的DirectPrecedents方法为要更改的单元格创建一个范围对象。 假设D424仅指一个单元。

Sub MyGoalSeek()

Dim precedentRange As Range

Set precedentRange = Range("D424").DirectPrecedents

Range("D1").GoalSeek Goal:=0.17, ChangingCell:=precedentRange

End Sub
Public Function GoalSeek(Goal As Double, ChangingCell As Range) As Double
   Dim changingCellVal As Double

   'Ensure the user only passes in a single cell, not a range of cells
   if(ChangingCell.Rows.Count = 1 And ChangingCell.Columns.Count = 1) Then
       changingCellVal = ChangingCell.Value
   end if

   'Calculate GoalSeek
   GoalSeek = 0
End Function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM