2019-11-26

Crear, borrar y editar listas de validación en Excel con VBA

Problema

Queremos crear, editar o borrar listas de validación en Excel mediante VBA.

Solución

  • Creación de una lista de validación - Creamos para el rango $A$2:$A$5 una lista de validación basada en $C$2:$C$5.
  • Sub Crear_lista()
        With Range("$A$2:$A$5").Validation
            .Delete
            .Add Type:=xlValidateList, _
            AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=$C$2:$C$5"
        End With
    End Sub
    
  • Edición de una lista de validación - Editamos el rango con la nueva lista de validación, en nuestro ejemplo $E$2:$E$5.
  • Sub Editar_lista()
        With Range("$A$2:$A$5").Validation
            .Delete
            .Add Type:=xlValidateList, _
            AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="=$E$2:$E$5"
        End With
    End Sub
    
  • Borramos la lista de validación del rango - Borramos las listas de validación del rango seleccionado.
  • Sub Borrar_lista()
        With Range("$A$2:$A$5").Validation
            .Delete        
        End With
    End Sub
    
Si en lugar de un rango queremos aplicarlo una selección:

'Reemplazamos Range("$A$2:$A$5").Validation por 
Selection.Validation

No hay comentarios:

Publicar un comentario

Nube de datos