Excel - macro que realice una lista desplegable en función de unas condiciones definidas

 
Vista:
sin imagen de perfil

macro que realice una lista desplegable en función de unas condiciones definidas

Publicado por Xabier (4 intervenciones) el 07/07/2021 12:53:13
Me ha surgido el siguiente problema, me gustaría hacer una macro que me cree una lista desplegable en función de si tengo valores en un determinado rango de celdas. En la imagen adjunta se entiende mejor, quiero que la macro me evalúe el rango de celdas de la segunda fila de la imagen y que si en esas celdas hay algún valor metido, me agregue el elemento de la celda superior a la lista desplegable. En el caso de la imagen, me gustaría que la macro me creara una lista desplegable con los elementos coche, camión y bicicleta. Y si fuera posible, en caso de cambiar los valores de la fila inferior, se actualizara la lista desplegable. Ando un poco perdido, el código que he llegado a hacer es el siguiente, entiendo que tendrá numerosos errores:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Sub crearlista()
Dim Cosa As String
Dim Celda As Variant
 
 
 
For Each Celda In Range("B2:I2")
If Not IsEmpty(Celda) Then
Cosa = ActiveCell.Offset(-1, 0)
 
With Worksheets("Hoja1").Range("L2").Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=Cosa
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
Next Celda
 
End Sub
lista-excel
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder