Referencia complicada
Publicado por Jose Antonio (4 intervenciones) el 01/11/2009 03:09:23
Aquí estoy otra vez. Después de dar muchas vueltas e ir salvando problemas de una manera muy rebuscada (seguro que hay soluciones más simples), he llegado a esto:
Private Sub renuevalidacion()
ActiveSheet.Unprotect
Range("A2:A17").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertInformation, _
Operator:=xlEqual, Formula1:="=$J2:$J50"
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = False
.ShowError = False
End With
Selection.Validation.IgnoreBlank = True
ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True
End Sub
Pues bien, usando varias fórmuas he conseguido obtener en una celda el valor de otra celda que es la que debería aparecer en lugar de j50. ¿Cómo puedo poner ese rango cuyo límite derecho está contenido en una celda, como resultado de una fórmula?
Gracias por vuestra ayuda.
Jose Antonio
P.D. Se me olvidaba, el método sólo pretende actualizar una lista desplegable, según vayan cambiando los datos del rango de referencia. Lo hago así porque, a pesar de que ignoro los blancos en dicha lista, me siguen apareciendo. Por tanto, he calculado la última celda no vacía del rango de referencia y ese sería el límite que debo meter en Formula1.
¿Muy lioso?yo así lo creo.
Private Sub renuevalidacion()
ActiveSheet.Unprotect
Range("A2:A17").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertInformation, _
Operator:=xlEqual, Formula1:="=$J2:$J50"
.IgnoreBlank = False
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = False
.ShowError = False
End With
Selection.Validation.IgnoreBlank = True
ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True
End Sub
Pues bien, usando varias fórmuas he conseguido obtener en una celda el valor de otra celda que es la que debería aparecer en lugar de j50. ¿Cómo puedo poner ese rango cuyo límite derecho está contenido en una celda, como resultado de una fórmula?
Gracias por vuestra ayuda.
Jose Antonio
P.D. Se me olvidaba, el método sólo pretende actualizar una lista desplegable, según vayan cambiando los datos del rango de referencia. Lo hago así porque, a pesar de que ignoro los blancos en dicha lista, me siguen apareciendo. Por tanto, he calculado la última celda no vacía del rango de referencia y ese sería el límite que debo meter en Formula1.
¿Muy lioso?yo así lo creo.
Valora esta pregunta
0