Screen.ActiveControl Property

Access Developer Reference

You can use the ActiveControl property together with the Screen object to identify or refer to the control that has the focus. Read-only Control object.

Syntax

expression.ActiveControl

expression   A variable that represents a Screen object.

Remarks

This property setting contains a reference to the Control object that has the focus at run time.

You can use the ActiveControl property to refer to the control that has the focus at run time together with one of its properties or methods. The following example assigns the name of the control with the focus to the strControlName variable.

Visual Basic for Applications
  Dim ctlCurrentControl As Control
Dim strControlName As String
Set ctlCurrentControl = Screen.ActiveControl
strControlName = ctlCurrentControl.Name

If no control has the focus when you use the ActiveControl property, or if all of the active form's controls are hidden or disabled, an error occurs.

Example

The following example assigns the active control to the ctlCurrentControl variable and then takes different actions depending on the value of the control's Name property.

Visual Basic for Applications
  Dim ctlCurrentControl As Control

Set ctlCurrentControl = Screen.ActiveControl If ctlCurrentControl.Name = "txtCustomerID" Then . . ' Do something here. . ElseIf ctlCurrentControl.Name = "btnCustomerDetails" Then . . ' Do something here. . End If