Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs.
If you have limited programming experience, you may want to contact a Microsoft Certified Partner or Microsoft Advisory Services. For more information, visit these Microsoft Web sites:
Microsoft Certified Partners -
https://partner.microsoft.com/global/30000104Microsoft Advisory Services -
http://support.microsoft.com/gp/advisoryserviceFor more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:
http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS
Use a
TabStrip control to view different sets of information for related controls. A
TabStrip is recommended if you use a single layout for your data. For example, use different tabs in a
TabStrip control to display different
views for one group of controls.
The
TabStrip is implemented as a container of a
Tabs collection, which, in turn, contains a group of
Tab objects. By default, the control contains two
Tab objects; you can add or remove
Tab objects as needed.
The client region of a
TabStrip control is not a separate form. Rather, the client region is a portion of the form that contains the
TabStrip control.
The border of a
TabStrip control defines a region of the form that you can associate with tabs. When you place a control in the client region of a
TabStrip, you are adding a control to the form that contains the
TabStrip.
Adding a Tab Strip Control to a UserForm
To add a
TabStrip control to a UserForm in the Visual Basic Editor, follow these steps:
- Click the UserForm, and then on the View menu, click Toolbox to display the toolbox.
- Click the TabStrip button.
- Draw the TabStrip control on the form.
Working with Existing Tabs in a TabStrip Control
To select an individual tab in a
TabStrip control, follow these steps:
- Select the TabStrip control.
- Press the SHIFT key, and then click the tab that you want to select.
After you select a tab, you can change the tab properties, delete the
tab, add new tabs, or move tabs by right-clicking the selected tab and then
clicking the appropriate command on the shortcut menu.
Controlling a Tab Strip Programmatically
Use the
SelectedItem property of the
TabStrip control to indicate which
Tab object is selected in the
TabStrip control at run time. For example, if you create a
TabStrip control named TabStrip1, you can use the following statement to display the caption of the selected tab:
MsgBoxTabStrip1.SelectedItem.Caption
The
SelectedItem property is read-only and cannot be set at run time. If you need to programmatically set which tab is selected, set the
Value property for the
TabStrip control. The following example selects the third tab on a
TabStrip named TabStrip1:
TabStrip1.Value=2
NOTE: The values of tabs in a
TabStrip control start with 0 (zero). If the
TabStrip control contains 3 tabs, their values are 0, 1, and 2.
Example
To create a simple UserForm that implements a
TabStrip control, follow these steps:
- In a new workbook in Microsoft Excel, point to Macro on the Tools menu, and then click Visual Basic Editor.
- On the Insert menu, click UserForm. Press F4 to start the Properties window for the form. Next to the (Name) property of the form, type frmMain, and then type Choose a Color next to the Caption property.
- Select the form. Click TabStrip on the Toolbox, and then draw a TabStrip control on the form. With the TabStrip control selected, press F4 to start the Properties window. Type tbsColor next to the (Name) property.
- To select the first tab in the TabStrip control, press SHIFT, and then click Tab1. Right-click Tab1, and then click Rename on the shortcut menu. Type Red in the Caption box, and then click OK.
- Click Tab2 to select it. Right-click Tab2, and then click Rename on the shortcut menu. Type Green in the Caption box, and then click OK.
- With the second tab still selected, right-click Green, and then click New Page on the shortcut menu.
The Visual Basic Editor inserts a third tab. - Right-click Tab3, and then click Rename on the shortcut menu. Type Blue in the Caption box, and then click OK.
- Click Red, and then cancel the selection of the Tab control by clicking the TabStrip container.
- Add the following controls to the TabStrip container with the listed property settings:
Control Type Property Value
----------------------------------------------------------
Image Name imgColor
BackColor &H000000FF&
CommandButton Name cmdOK
Caption OK
CommandButton Name cmdCancel
Caption Cancel
- Press F7 to view the Code window for the form.
- Type the following event procedures for the form in the Code window:
Private Sub tbsColor_Change()
' This procedure runs when the TabStrip control named tbsColor
' changes. This procedure will change the color of the image
' control based on which tab the user selects.
Dim i As Integer
i = tbsColor.SelectedItem.Index
Select Case i
Case 0
' First tab selected, change color of image to red.
imgColor.BackColor = RGB(255, 0, 0)
Case 1
' Second tab selected, change color of image to green.
imgColor.BackColor = RGB(0, 255, 0)
Case 2
' Third tab selected, change color of image to blue.
imgColor.BackColor = RGB(0, 0, 255)
End Select
End Sub
Private Sub cmdCancel_Click()
' This procedure will run when the command button cmdCancel is
' clicked. This procedure unloads the form.
Unload Me
End Sub
Private Sub cmdOK_Click()
' This procedure will run when the command button cmdOK is clicked.
' This procedure displays a message indicating which tab is
' selected and then unloads the form.
MsgBox "You selected " & tbsColor.SelectedItem.Caption
Unload Me
End Sub
- On the Insert menu, click Module.
- Type the following procedure in the new module sheet:
Public Sub ShowForm()
' This procedure displays the form named frmMain.
frmMain.Show
End Sub
- Press F5, select ShowForm, and then click Run to run the macro.