Validación de datos (lista) rango variable
Buenas expertos.
Intento hacer una lista desplegable en un rango de celdas variable, resultado de una extracción en otra hoja. Excel 2007. Este código esta en el modulo de la hoja3
Dim mLista If Intersect(Target, [a6:a40,a73:a82,A84:A93]) Is Nothing Then Exit Sub [a6:a40,a73:a82,A84:A93].Validation.Delete With Hoja8 .[a1].CurrentRegion.AdvancedFilter 2, .[c1:c2], .[g1], False If .[g3] <> "" Then mLista = WorksheetFunction.Transpose(.Range(.[g2], .[g1].End(xlDown)).Value) [a6:a40,A84:A93].Validation.Add 3, 1, 1, Join(mLista, ",") ElseIf .[g2] <> "" Then [a6:a40,A84:A93].Validation.Add 3, 1, 1, .[g2] End If .[g1].CurrentRegion.Delete End With
Las listas las intento poner en el rango A73:A82 y el rango variable proviene de la hoja8 desde la celda A2
Lo he intentado sin éxito agregando esto, sin mucho éxito:
Dim mLista Dim nLista If Intersect(Target, [a6:a40,a73:a82,A84:A93]) Is Nothing Then Exit Sub [a6:a40,a73:a82,A84:A93].Validation.Delete With Hoja8 .[a1].CurrentRegion.AdvancedFilter 2, .[c1:c2], .[g1], False If .[g3] <> "" Then mLista = WorksheetFunction.Transpose(.Range(.[g2], .[g1].End(xlDown)).Value) [a6:a40,A84:A93].Validation.Add 3, 1, 1, Join(mLista, ",") ElseIf .[g2] <> "" Then [a6:a40,A84:A93].Validation.Add 3, 1, 1, .[g2] End If .[g1].CurrentRegion.Delete nLista = .Range(.[a2], .[a2].End(xlDown)) [a73:a82].Validation.Add 3, 1, 1, Join(nLista, ",") End With
¿Como puedo validar datos en el rango a73:a82 de la hoja3 desde el rango a2 hasta la ultima celda no vacía de la hoja8?
Gracias expertos.