简体   繁体   中英

cancel or hide input box in vba

I have a code which asks for an input between 1-3 using an InputBox which then runs a code depending on what input it is given. The problem i have is that i don't need that InputBox anymore, as the work i intend to do only uses one input which is 3.I tried removing the input box and just inserting 3 there but then the code doesnt do anything. I then tried to insert a default value in the box, but it still appears and needs me to click enter which is what i am trying to avoid. Pls how should i go about this problem.

My Code

Function GetTypeFile() As Integer

    Dim strInput As String, strMsg As String
    Dim Default

    choice = 0
    While (choice < 1 Or choice > 3)
        Default = "3"

        strMsg = "Type in the kind of entities to create (1 for points, 2 for points and splines, 3 for points, splines and loft):"
        strInput = InputBox(Prompt:=strMsg, _
                    Title:="User Info", Default:=3, XPos:=2000, YPos:=2000)

        'Validation of the choice
        choice = CInt(strInput)
        If (choice < 1 Or choice > 3) Then
            MsgBox "Invalid value: must be 1, 2 or 3"
        End If
    Wend
    GetTypeFile = choice

End Function

Your function returns the value to wherever it's called, so you could just use:

Function GetTypeFile() As Integer
    GetTypeFile = 3
End Function  

or just replace any calls to the function with the number 3 .

So rather than something like:

Sub Test()
    ThisWorkbook.SaveAs "MyFileName", GetTypeFile
End Sub

You'd have:

Sub Test()
    ThisWorkbook.SaveAs "MyFileName", 3
End 

Thank you all for your reply. I just understood what to do, by setting the variable which is dependent on the value in the inputbox to 3 instead of it being TypeDocument=GetTypeFile it is now TypeDocument=3 directly..I think that is what you all had been trying to say all the while. Thank you again.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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