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