Intento hacer una lista desplegable en un rango de celdas, los datos son el resultado de una extracción en otra hoja. Excel 2007. Este código esta en el modulo de la hoja1:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim mLista, nLista
If Intersect(Target, [b5:b21,c25:c26]) Is Nothing Then Exit Sub
[b5:b21,c5:c26].Validation.Delete
Application.ScreenUpdating = False
With Hoja2
.[a1].CurrentRegion.AdvancedFilter 2, .[c1:c2], .[f1], False
If .[f3] <> "" Then
mLista = WorksheetFunction.Transpose(.Range(.[f2], .[f1].End(xlDown)).Value)
[b5:b21].Validation.Add 3, 1, 1, Join(mLista, ",")
ElseIf .[f2] <> "" Then
[b5:b21].Validation.Add 3, 1, 1, .[f2]
End If
.[f1].CurrentRegion.Delete
ActiveCell.Offset(, 1).Activate: ActiveCell.Offset(, -1).Activate
nLista = .Range(.[a2], .[a2].End(xlDown))
[c5:c26].Validation.Add 3, 1, 1, Join(nLista, ",")
End With
Application.ScreenUpdating = True
End Sub[/CODE]
Las listas las intento poner en el rango c5:c26 y el rango variable proviene de la hoja2 desde la celda A2
¿Como puedo validar datos en el rango c5:c26 de la hoja1 desde el rango a2 hasta la ultima celda no vacía de la hoja2?
Intento hacer una lista desplegable en un rango de celdas, los datos son el resultado de una extracción en otra hoja. Excel 2007. Este código esta en el modulo de la hoja1:
Las listas las intento poner en el rango c5:c26 y el rango variable proviene de la hoja2 desde la celda A2
¿Como puedo validar datos en el rango c5:c26 de la hoja1 desde el rango a2 hasta la ultima celda no vacía de la hoja2?
Me da fallo en esta linea:
argumento no valido.
Gracias.
Libro.rar