¿Cómo puedo hacer una Macro en Excel que haga una validación de datos?

2 envíos / 0 nuevos
Último envío
jefferson_or90
Imagen de jefferson_or90
Offline
última acción: Hace 7 años 2 meses
alta: 13/02/2017 - 04:38
Puntos: 25
¿Cómo puedo hacer una Macro en Excel que haga una validación de datos?

¿Cómo puedo hacer una Macro en Excel que haga una validación de datos?

Quisiera hacer una macro que hiciera una validación de datos multiple, es decir, que en la casilla A1 me apareciera "azul, rojo, verde". Si elijo azul, en la casilla B1 me aparezca "Azul claro, Azul Oscuro". Si elijo Rojo, en la casilla B1 me aparezca "rojo claro, rojo Oscuro, rojo metalizado". Si elijo azul, en la casilla B1 me aparezca "verde agua marina, verde oscuro, verde claro, verde azulado".

Etiquetas: 

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 1 semana 1 día
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
listas encadenadas

Entiendo que cuando dices que en la casilla A1 aparece Azul,Rojo,verde te refieres a un desplegable de validación de datos con esas opciones

Validación, desplegable

La comprobación la realizaría en el evento Change de la hoja, para que se realice la comprobación cuando cambie algo.

comprobaría si lo que cambia es la celda A1

y según el valor elegido, modifico la validación de la celda B1

por ejemplo:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Target, Range("A1")) Is Nothing Then

        Select Case Range("A1").Value

            Case "azul"

                With Range("B1").Validation

                    .Delete

                    .Add xlValidateList, xlValidAlertStop, xlBetween, "azul claro,azul oscuro"

                End With

            Case "rojo"

                With Range("B1").Validation

                    .Delete

                    .Add xlValidateList, xlValidAlertStop, xlBetween, "rojo claro,rojo oscuro"

                End With

            Case "verde"

               ....

        End Select

    End If

End Sub

 

------
Ya sé Excel, pero necesito más.