繁体   English   中英

如何通过输入框设置目标搜索值?

[英]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.

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