簡體   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