Crear lista desplegable con datos dinámicos

Tengo una columna "C" en la hoja1 con datos repetidos. Lo que quisiera es una lista desplegable con los datos en la hoja 2 celda D10 que vaya alimentandose de la columna C y que la lista no contenga repetidos

1 respuesta

Respuesta
1

Pon el siguiente código en los eventos de la Hoja1.

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(tu hoja)
  4. En el panel del lado derecho copia la macro

---

Cada que actualices los valores en la columna C de la hoja1, en automático se actualizará la lista desplegable de la hoja2, celda D10.

---

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng As Range, c As Range
  Dim dic As Object
  Dim i As Long
  '
  Set dic = CreateObject("Scripting.Dictionary")
  Set rng = Intersect(Target, Range("C2:C" & Rows.Count))
  If Not rng Is Nothing Then
    For Each c In Range("C2", Range("C" & Rows.Count).End(3))
      If c.Value <> "" Then dic(c.Value) = Empty
    Next
    '
    If dic.Count > 0 Then
      With Sheets("Hoja2").Range("D10").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
          Operator:=xlBetween, Formula1:=Join(dic.keys, ",")
        .IgnoreBlank = True
        .InCellDropdown = True
        .ErrorTitle = "Valor no válido"
        .ErrorMessage = "El usuario sólo puede introducir ciertos valores"
        .ShowInput = True
        .ShowError = True
      End With
    End If
  End If
End Sub

Hola Dante, gracias por tu colaboración, excelente. En la lista desplegable me aparecen valores repetidos. Se podrá ver?

Puedes poner un ejemplo de tus datos.

Revisa que no tengan espacios en blanco antes o al final del texto.

Dante, si, borré los espacios.

Adjunto un ejemplo del archivo 

https://drive.google.com/file/d/1MCuKJV89qNQxTS1da8ZdiA8I9CxplzCS/view?usp=sharing 

Saludos.

Dante:

Corregí los permisos para acceder al archivo.

https://drive.google.com/file/d/1MCuKJV89qNQxTS1da8ZdiA8I9CxplzCS/view?usp=drivesdk 

Saludos.

Pusiste el código en los eventos de Thisworkbook.

Debe ir en los eventos de la hoja1

[No olvides valorar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas