Establecer coincidencia de entrada en un cuadro combinado

En el ejemplo siguiente se usan las propiedades MatchFound y MatchRequired para mostrar la coincidencia de caracteres adicional para ComboBox. La comprobación de coincidencia se realiza en el evento Change.

En este ejemplo, el usuario especifica si la parte de texto de un cuadro combinado debe coincidir con uno de los elementos enumerados en el cuadro combinado. El usuario puede especificar si la coincidencia es necesaria mediante un CheckBox y, a continuación, escribir en el ComboBox para especificar un elemento de su lista.

Para utilizar este ejemplo, copie el código en el Editor de secuencias de comandos de un formulario. Para ejecutar el código debe abrir el formulario con el fin de que se produzca el evento Open. Asegúrese de que el formulario contiene:

  • Un control ComboBox denominado ComboBox1 que es dependiente del campo Asunto.

  • Un control CheckBox denominado CheckBox1.

Sub CheckBox1_Click() 
 Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1") 
 Set CheckBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CheckBox1") 
 
 If CheckBox1.Value = True Then 
 ComboBox1.MatchRequired = True 
 MsgBox "To move the focus from the ComboBox, you must match an entry in the list or press ESC." 
 Else 
 ComboBox1.MatchRequired = False 
 MsgBox " To move the focus from the ComboBox, just tab to or click another control. Matching is optional." 
 End If 
End Sub 
 
Sub Item_PropertyChange(byval pname) 
 if pname = "Subject" then 
 Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1") 
 If ComboBox1.MatchRequired = True Then 
 'MSForms handles this case automatically 
 Else 
 If ComboBox1.MatchFound = True Then 
 MsgBox "Match Found; matching optional." 
 Else 
 MsgBox "Match not Found; matching optional." 
 End If 
 End If 
 end if 
End Sub 
 
Sub Item_Open() 
 Set ComboBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("ComboBox1") 
 Set CheckBox1 = Item.GetInspector.ModifiedFormPages("P.2").Controls("CheckBox1") 
 
 For i = 1 To 9 
 ComboBox1.AddItem "Choice " & i 
 Next 
 ComboBox1.AddItem "Chocoholic" 
 
 CheckBox1.Caption = "MatchRequired" 
 CheckBox1.Value = True 
End Sub

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.