Public Statement

Named Arguments

No

Syntax

Public [WithEvents] varname[([subscripts])] _
   [As [New]  type] [, [WithEvents] _
   varname[([subscripts])] [As [New] type]] . . .

WithEvents

Use: Optional

Type: Keyword

A keyword that denotes the object variable varname can respond to events triggered from within the object to which it refers.

varname

Use: Required

Data Type: Any

The name of the variable, which must follow Visual Basic naming conventions.

subscripts

Use: Optional

Denotes varname as an array and specifies the dimensions and number of elements of the array.

New

Use: Optional

Type: Keyword

Used to automatically create an instance of the object referred to by the object variable varname.

type

Use: Optional

Data type of the variable varname.

Description

Used at module level to declare a public variable and allocate the relevant storage space in memory. A Public variable has both project-level scope—that is, it can be used by all procedures in all modules in the project—and, when used in a class module, it can have scope outside the project.

Rules at a Glance

  • The behavior of a Public variable depends on where it's declared, as the following table shows:

    Variable Declared in... Scope
    Any procedure Illegal; generates a compile-time error.
    Code module declarations section Variable is available to all modules within the project.
    Class module declarations section Variable is available as a property of the class to all modules within the project, and to all other projects referencing ...

Get VB & VBA in a Nutshell: The Language now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.