Visual Basic para Aplicaciones - Referencia complicada

Life is soft - evento anual de software empresarial
   
Vista:

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.
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