ComboBox.Column property (Access)

You can use the Column property to refer to a specific column or column and row combination in a multiple-column combo box or list box. Read-only Variant.


expression.Column (Index, Row)

expression A variable that represents a ComboBox object.


Name Required/Optional Data type Description
Index Required Long A long integer that can range from 0 to the setting of the ColumnCount property minus one.
Row Optional Variant An integer that can range from 0 to the setting of the ListCount property minus 1.


Use 0 to refer to the first column, 1 to refer to the second column, and so on. Use 0 to refer to the first row, 1 to refer to the second row, and so on. For example, in a list box containing a column of customer IDs and a column of customer names, you could refer to the customer name in the second column and fifth row as:

 Forms!Contacts!Customers.Column(1, 4)

You can use the Column property to assign the contents of a combo box or list box to another control, such as a text box. For example, to set the ControlSource property of a text box to the value in the second column of a list box, you could use the following expression.


If the user has made no selection when you refer to a column in a combo box or list box, the Column property setting will be Null. You can use the IsNull function to determine if a selection has been made, as in the following example.

 If IsNull(Forms!Customers!Country) 
   Then MsgBox "No selection." 
 End If


To determine how many columns a combo box or list box has, you can inspect the ColumnCount property setting.


The following example uses the Column property and the ColumnCount property to print the values of a list box selection.

Public Sub Read_ListBox() 
 Dim intNumColumns As Integer 
 Dim intI As Integer 
 Dim frmCust As Form 
 Set frmCust = Forms!frmCustomers 
 If frmCust!lstCustomerNames.ItemsSelected.Count > 0 Then 
 ' Any selection? 
 intNumColumns = frmCust!lstCustomerNames.ColumnCount 
 Debug.Print "The list box contains "; intNumColumns; _ 
 IIf(intNumColumns = 1, " column", " columns"); _ 
 " of data." 
 Debug.Print "The current selection contains:" 
 For intI = 0 To intNumColumns - 1 
 ' Print column data. 
 Debug.Print frmCust!lstCustomerNames.Column(intI) 
 Next intI 
 Debug.Print "You haven't selected an entry in the " _ 
 & "list box." 
 End If 
 Set frmCust = Nothing 
End Sub

Support and feedback

Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.