[英]How to set goal seek value by a input box?
我有一个 excel 文件,我必须在其中运行目标寻找 vba 以达到一定数量。 但是,如果我在其他单元格中运行它,每次我都需要手动更改目标搜索号码。 有什么方法可以弹出一个输入框,我可以在其中输入所需的数字,然后宏将运行以完成操作?
在下面的代码中,目标搜索设置为 40。但是当我需要目标时,我必须手动更改数字。 我期待一些扩展,每次运行宏时都需要一个目标搜索号码。 请问有什么想法吗?
'
' Run_DIO Macro
'
' Keyboard Shortcut: Ctrl+q
'
ActiveCell.GoalSeek Goal:=40, ChangingCell:=ActiveCell.Offset(-4, -1).Range( _
"A1")
ActiveCell.Offset(-3, -1).Range("A1").Select
Selection.Copy
ActiveCell.Offset(-1, 0).Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveCell.Offset(4, 2).Range("A1").Select
End Sub
当然......只需添加一个变量:
Dim iGoal As Integer
iGoal = InputBox("Enter Goal")
ActiveCell.GoalSeek Goal:=iGoal, ChangingCell:=ActiveCell.Offset(-4, -1).Range( _
"A1")
只是希望他们输入一个数字,否则你会得到一个错误。
如果您在循环中使用它,请在循环开始之前获取输入:
Dim iGoal As Integer
iGoal = InputBox("Enter Goal")
' code to start loop goes here
ActiveCell.GoalSeek Goal:=iGoal, ChangingCell:=ActiveCell.Offset(-4, -1).Range( "A1")
' also the rest of the code you want to loop goes here
' code to end loop goes here
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.