Problemas con cambiar los argumentos de una fórmula

Tengo el siguiente código:

Range("j19").Select
    ActiveCell.FormulaR1C1 = "='[YPC Reporte- 28-07-15.xlm] GAS'!R[5]C[4]"
    Range("j19").Select
    Selection.AutoFill Destination:=Range("j19:j30"), Type:=xlFillDefault
    Range("j19:j30").Select

Donde:

 [YPC Reporte- 28-07-15.xlm] GAS'!R[5]C[4]

es el vinculo de una celda a otro libro

Ahora necesito que este vinculo cambia según la fecha de cada día, cuando se crea un nuevo registro.

He intentado lo siguiente, pero la verdad no funciona:

Dim DIA As Integer
DIA = Range("M7")
Range("j19").Select
ActiveCell.FormulaR1C1 = "='[YPC Reporte- "& DIA-07-15".xlm] GAS'!R[5]C[4]"
Range("j19").Select
Selection.AutoFill Destination:=Range("j19:j30"), Type:=xlFillDefault
Range("j19:j30").Select

Donde el valor de DÍA Lo agarra de una celda.

Respuesta
1

Intente:

ActiveCell.FormulaR1C1 = "='[YPC Reporte- " & worksheetfunction.Text(DIA,"dd-mm-yy") &".xlm] GAS'!R[5]C[4]"

En principio parece que sería posible prescindir de la variable DIA y coger el dato directamente de la celda, pero como no sé si la variable se usa luego para alguna otra cosa he preferido dejarlo así.

Más corto, usando la función Format de VBA, de la que me había olvidado:

ActiveCell.FormulaR1C1 = "='[YPC Reporte- " & Format(DIA,"dd-mm-yy") &".xlm] GAS'!R[5]C[4]"

No he logrado que funcione, te paso todo el código

Dim DIA As Date
DIA = Range("M7")
Range("j19").Select
    ActiveCell.FormulaR1C1 = "='[YPC Reporte- " & Format(DIA, "dd-mm-yy") & ".xlm] GAS'!R[5]C[4]"
    Range("j19").Select
    Selection.AutoFill Destination:=Range("j19:j30"), Type:=xlFillDefault
    Range("j19:j30").Select

El vinculo de la Celda J19 tiene que variar según lo que indica la celda M7. No he podido que esto resulte

El problema parece ser que en M7 está sólo el día del mes. ¿Cómo se sabe el mes y el año? ¿Son simplemente los actuales?

M7 esta en formato fecha, y corresponde a 28-07-2015, este valor cambia cada día.

Cuando ejecuto la Macro sale error en el Método "FÓRMULA R1C1 del Objeto Range

¿Pero los libros YPC Reporte tienen realmente la extensión XLM o se trata de un error?

Si los libros el cual esta vinculada la Celda M7 tiene las siguientes características en su nombre:

YPC   Reporte- 28-07-15.xlsm.

He intentado cambiar la extensión xlsm por xlm, aun así me sale el mismo error

Por probar, intentemos usar Formula en vez de FormulaR1C1.
R[5]C[4] es (creo) E6, así que pruebe con
ActiveCell.Formula = "='[YPC Reporte- " & Format(DIA, "dd-mm-yy") & ".xlsm] GAS'!E6"
Otra cosa que conviene hacer es poner de forma explícita el directorio donde esté el libro, por ejemplo:
ActiveCell.Formula = "='C:\directorio\[YPC Reporte- " & Format(DIA, "dd-mm-yy") & ".xlsm] GAS'!$E$6"

1 respuesta más de otro experto

Respuesta
1

Si el día se toma de una celda y necesitas obtener algo así:

='[YPC Reporte- 25-07-15.xlm] GAS'!N24

Entonces la sintaxis de la instrucción debiera ser así:

ActiveCell.FormulaR1C1 = "='[YPC Reporte- " & DIA & "-07-15.xlm] GAS'!R[5]C[4]"

¿Solo 'buena' ???  ;(

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas