Macro para desplegar lista de validación solo si una celda tiene valores

Para Dante Amor, hola Dante tocando el tema de lista de validación. Quiero saber como realizar una macro que cuando este capturado un valor en una celda(ejemplo B3) en la celda D3 se active una lista de validación. Que dicha lista pueda ser ampliada pero que el rango a mostrar en la celda D3 sea conforme tenga datos, para de esta forma evitar crear una lista de una columna completa. Agradezco tu apoyo quedo al pendiente para poder mandarte mi archivo.

1 respuesta

Respuesta
1

H o l a:

Te anexo la macro. Cada vez que escribas algo en la columna B en automático te pondrá la lista de validación en la columna D. La lista de datos deberá estar en la hoja "índice" en la columna Q. También la lista se actualizará en automático.

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Target.Count > 30 Then Exit Sub
    If Target.Row < 3 Then Exit Sub
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
        On Error Resume Next
        ActiveWorkbook.Names("Categoría").Delete
        On Error GoTo 0
        u = Sheets("ÍNDICE").Range("Q" & Rows.Count).End(xlUp).Row
        ActiveWorkbook.Names.Add _
            Name:="Categoría", _
            RefersTo:="=ÍNDICE!$Q$2:$Q$" & u
        '
        For Each c In Target
            If c.Value <> "" Then
                With Cells(c.Row, "D").Validation
                    .Delete
                    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
                        xlBetween, Formula1:="=Categoría"
                    .IgnoreBlank = True
                    .InCellDropdown = True
                    .InputTitle = ""
                    .ErrorTitle = ""
                    .InputMessage = ""
                    .ErrorMessage = ""
                    .ShowInput = True
                    .ShowError = True
                End With
            End If
        Next
    End If
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas