Text Box Vba Excel For Mac

The VBA Application.InputBox provides a dialog for you to get a response from the user.

  1. Text Box Vba Excel For Mac Download
  2. Vba Excel For Loop

You can specify the response type from the user. These include numbers, string, date and a range.

  1. The VBA Application.InputBox provides a dialog for you to get a response from the user. You can specify the response type from the user. These include numbers, string, date and a range. If you want to get a single piece of text or value from the user you can use the InputBox. The following code.
  2. Sep 03, 2018 Here’s how to quickly create a drop-down list in Excel on Mac. Add a drop-down list to a cell. Open Microsoft Excel and the document where you want to add the drop-down list. Then, follow these steps. 1) Enter your list items onto a spreadsheet. You can use a new sheet in your workbook or existing cells where you have the items entered.

If you want to get a single piece of text or value from the user you can use the InputBox. The following code asks the user for a name and writes the user’s response to the Immediate Window(Ctrl + G to view)

Excel for Mac trouble with VBA macros I have an Excel file that includes macros and most of them have suddenly stopped working and new macros are not working. The same file, opened on a different Mac (or a PC) functions perfectly.

Contents

  • 7 InputBox Type Parameter Options

Important

Confusingly there are two InputBoxes in Excel VBA.

  1. Application.InputBox
  2. InputBox(also calledVBA.InputBox)

They are almost the same except that:

  1. Application.InputBox allows you to specify the variable type of result e.g. String, integer, date, range.
  2. The Application.InputBox parameters Left and Top are not used by VBA.

In, the example below, the Application.InputBox allows you to specify the type but the VBA.InputBox doesn’t:

In this article, we will be dealing primarily with the Application.InputBox.

InputBox Syntax

InputBox prompt, title[optional], default [optional], left[optional], top[optional], helpfile[optional], Left[optional]

InputBox Parameters

prompt – this is the text displayed by the InputBox e.g. “Please enter a number between one and ten”, “Please select a range”.

title[optional] – this is the text that is displayed in the title bar of the InputBox.

default[optional]– this will be the response if no response is entered by the user.

left[optional] – not used. If you need to position the InputBox you need to use the VBA.InputBox.

top[optional] – not used. If you need to position the InputBox you need to use the VBA.InputBox.

helpfile[optional] – specifies a related help file if your application has one(hint: it probably doesn’t unless it is a legacy application.)

helpfilecontextidl[optional] – specifies a position in the help file.

type[optional] – specifies the type of value that will be returned. If this parameter is not used then the return type is text. See below for a list of options for this parameter.

What makes using the InputBox simple is that you really only need to use 4 of these parameters, namely prompt, title, default and type.

VBA Optional Parameters

As, we saw in the above section, VBA has a lot of optional parameters. Sometimes we want to use an optional parameter but don’t need the optional parameters before it. We can deal with this in two ways:

Text Box Vba Excel For Mac
  1. Leave the other optional parameters blank.
  2. Use the name of the parameter.

Here are examples of each method:

You can see that naming the parameters is a better idea as it makes the code much more readable and understandable.

InputBox Title Parameter

The Title parameter simply allows you to see the Title of the InputBox dialog. The following examples shows this:

InputBox Default Parameter

The default value is simply the value that will be returned if the user does not enter a value. This value is displayed in the InputBox when it appears.

When the following code runs, the value Apple is displayed in the InputBox when it appears:

InputBox Type Parameter Options

ValueType
0Formula
1Number
2String
4Boolean - True or False
8Range
16An error value like #N/A
64Array of values

You can create your own constants for the Type parameter if you want your code to be more readable:

You can then use them like this:

Getting the Range

To get a range from the user we set Type to 8.

If we set the return variable to be a range we must use the Set keyword like in this example:

If you leave out the Set keyword you will get the runtime error 91: “object variable or with block not set”.

In VBA we can declare the variable as a variant in VBA. This means that VBA will set the type at runtime:

Text Box Vba Excel For Mac Download

If we replace the Set keyword with a variant then the InputBox will return an array of values instead of the range object:

Text Box Vba Excel For Mac

Cancelling the Range

One problem with selecting the range is that if the user clicks cancel then VBA gives an error.

Vba Excel For Loop

There is no nice way around this. We have to turn off errors and then check the return value. We can do it like this:

Vba

Related Reading

What’s Next?

Free VBA Tutorial If you are new to VBA or you want to sharpen your existing VBA skills then why not try out The Ultimate VBA Tutorial.

Related Training: Get full access to the Excel VBA training webinars.

(NOTE: Planning to build or manage a VBA Application? Learn how to build 10 Excel VBA applications from scratch.)

Get the Free eBook

Please feel free to subscribe to my newsletter and get exclusive VBA content that you cannot find here on the blog, as well as free access to my eBook, How to Ace the 21 Most Common Questions in VBA which is full of examples you can use in your own code.