2011-08-10 19 views
12

¿Alguien sabe cuáles son las propiedades del cuadro combinado que puedo manipular para no permitir que el usuario teclee ni escriba ningún dato?¿Cómo obtener el combobox para no aceptar la entrada del usuario en Excel-Vba?

+0

¿Qué tipo de cuadro combinado son ¿estás hablando de? ¿El control de cuadro combinado o el que puede agregar a la Hoja con la opción "Validación de datos"? – Jacob

+0

@cularis es el que está en el inserto -> activex -> combobox – Vivian

Respuesta

33

Establezca el estilo del cuadro combinado en 2 - fmStyleDropDownList. Esto no permitirá la entrada del usuario, y también evitará (combobox) .Valores de valor a través de macro.

+0

Muchas gracias :) – Vivian

+0

¿Hay alguna manera de hacer esto programáticamente? –

+1

@ AndréTerra vea la [respuesta] (http://stackoverflow.com/questions/7006888/how-to-get-combobox-not-to-accept-user-input-in-excel-vba/19322189#19322189) I justo publicado si todavía tienes curiosidad :) – enderland

4
YourComboBoxName.Style = fmStyleDropDownList 

o

YourComboBoxName.Style = 2 

(eso es desde MS Excel Help)

5

Aquí está una manera de cambiar esto para cada objeto en una hoja de cálculo:

Private Sub fixComboBoxes() 
    Dim OLEobj As OLEObject 
    Dim myWS As Worksheet 
    Set myWS = Sheet1 
    With myWS 
     For Each OLEobj In myWS.OLEObjects 
      If TypeOf OLEobj.Object Is MSForms.ComboBox Then 

       OLEobj.Object.Style = fmStyleDropDownList 
      End If 
     Next OLEobj 
    End With 
End Sub 
Cuestiones relacionadas