Insertar un Rango de columnas variable dentro de una formula TIR.NO.PER

Hola! Buenas noches, desde ya agradezco la amabilidad de tomarse el tiempo para ver mi problema y tratar de ayudarme.

Tengo la compu con windows 7, office 2010, ambos español.

En el Excel tengo 2 filas de 361 columnas x 1 fila: D69:MZ69 y D80:MZ80.

En la fila 69 hay fechas (ej: 25-05-13) y en la fila 80 hay valores (ej:$0,75).

Necesito usar la formula TIR.NO.PER con estas dos filas pero no siempre uso la misma cantidad de columnas y si en la formula usas celdas vacías tira error y si uso de menos no me sirve el calculo.

Necesito saber de que manera por medio de excel o VBA puedo insertar los valores del rango que necesito en la formula porque ya probé algunas cosas como en VBA poner application.worksheetfunction.xirr(range"D80:L80";range"D69:L69").

Probé grabando una macro, seleccionando el rango por medio de un buscarv y un cuadro auxiliar, pegar los valores esos y copiarlo para pegarlos en la formula.

Muchas Gracias por su ayuda!

Francis

1 respuesta

Respuesta
1

¿Y en dónde tienes celdas vacías en los valores o en las fechas?

¿Y hasta dónde quieres que se tomen los datos?

La fórmula correcta en tu ejemplo debe ser así

res = Application.Xirr(Range("D80:L80"), Range("D69:L69"))

Pero si la columna final varía, debemos calcular la columna, con algo similar a esto

c1 = Columns("D").Column
c2 = Cells(69, Columns.Count).End(xlToLeft).Column
res = Application.Xirr(Range(Cells(80, c1), Cells(80, c2)), _
    Range(Cells(69, c1), Cells(69, c2)))

Envíame tu archivo con 3 ejemplos un ejemplo en cada hoja y me dices cómo debe aplicarse la fórmula.

Con el ejemplo, puedo calcular la columna que me digas, y en base a esa columna armar la fórmula en VBA

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas