Skip to Content
VB & VBA in a Nutshell: The Language
book

VB & VBA in a Nutshell: The Language

by Paul Lomax
October 1998
Intermediate to advanced
656 pages
16h 10m
English
O'Reilly Media, Inc.
Content preview from VB & VBA in a Nutshell: The Language
Choose Function

Named Arguments

No

Syntax

Choose(index, item1[, item2, ...[,itemn]])

index

Use: Required

Data Type: Single

An expression that evaluates to the number of the item to choose from the list.

item1 - n

Use: Required

Data Type: Variant

A comma-delimited list of values from which to choose.

Return Value

A variant data type item chosen from the list; the data subtype is that of the chosen item.

Description

Programmatically selects an item from a predefined list of values (which are passed as parameters to the function) based on its ordinal position in the list. Using Choose is a simpler alternative to populating an array with fixed values.

Rules at a Glance

  • The list of items is based from 1, rather than the more usual VB default base of 0.

  • Because the list of values is a variant parameter array, you can mix data subtypes within the list; you aren't forced to use the same data subtype for each item in the list. For example, item1 can be a variant string, item2 a long integer, and item3 a floating point number.

  • The list of values can't be expanded or contracted programmatically, but the items within the list can be generated dynamically by including the return value of a function call. For example:

    vChosenOption = Choose(iOption, vFunction1(), _
                    vFunction2(), vFunction3())

Example

Choose is useful for returning some result based on an option button selection. This is most straightforward with Visual Basic, which supports control arrays. For example:

Private Sub Option1_Click(Index ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Visual Basic Design Patterns: VB 6.0 and VB.NET

Visual Basic Design Patterns: VB 6.0 and VB.NET

James W. Cooper
Programming Excel with VBA and .NET

Programming Excel with VBA and .NET

Jeff Webb, Steve Saunders

Publisher Resources

ISBN: 1565923588Catalog PageErrata