Assuming a userform combobox, on a form with a combo box a text box and two command buttons then in an ordinary module use the following code. This demonstrates how to add items from contacts to a combo box and write the first column of the selected item to the text box.
Option Explicit
Sub ShowMyForm()
Dim olNS As NameSpace
Dim olFolder As MAPIFolder
Dim olContact As ContactItem
Dim oFrm As New UserForm1
Dim strItem As String
Dim i As Long
Set olNS = GetNamespace("MAPI")
Set olFolder = olNS.GetDefaultFolder(olFolderContacts)
On Error Resume Next
With oFrm
With .ComboBox1
i = 1
.AddItem "[Select Contact]"
For Each olContact In olFolder.Items
strItem = olContact.FileAs
strItem = Replace(strItem, vbCrLf, Chr(32) & Chr(47) & Chr(32))
.AddItem
.List(i, 0) = strItem
.List(i, 1) = olContact.FirstName
.List(i, 2) = olContact.LastName
i = i + 1
Next olContact
.ListIndex = 0
End With
.Show
If .Tag = 0 Then GoTo lbl_Exit
'do something with the values from the form.
End With
lbl_Exit:
Unload oFrm
Set olNS = Nothing
Set olFolder = Nothing
Set olContact = Nothing
Exit Sub
End Sub
and in the userform code
Option Explicit
Private Sub ComboBox1_Change()
If Me.ComboBox1.ListIndex > 0 Then
Me.TextBox1.Text = Me.ComboBox1.Column(0)
Else
Me.TextBox1.Text = ""
End If
End Sub
Private Sub CommandButton1_Click()
Me.Hide
Me.Tag = 1
End Sub
Private Sub CommandButton2_Click()
Me.Hide
Me.Tag = 0
End Sub