Usar una location de file en un problema VLOOKUP

Obtuve este código de otra respuesta aquí y es mejor de lo que lo estaba haciendo porque puedes simplemente seleccionar de dónde sacas tu file. Pero parece que no puedo get el nombre del file exactamente correcto en VLOOKUP. Recibo el error 1004 justo después de la VLOOKUP. Tal vez hay algo más mal. Copié este código y luego reemplacé lo que necesitaba, pero necesito otro par de ojos. Gracias por adelantado.

Dim x As String Dim lNewBracketLocation As Long x = Application.GetOpenFilename( _ FileFilter:="Excel Files (*.xls*),*.xls*", _ Title:="Choose previous quarter's file", MultiSelect:=False) MsgBox "You selected " & x 'Find the last instance in the string of the path separator "\" lNewBracketLocation = InStrRev(x, Application.PathSeparator) 'Edit the string to suit the VLOOKUP formula - insert "[" x = Left$(x, lNewBracketLocation) & "[" & Right$(x, Len(x) - lNewBracketLocation) Range("V2").Select ActiveCell.FormulaR1C1 = "=VLOOKUP($E2,'" & x & "]file_2017072732'!$B$5:$AP$9486,18,FALSE)" ' ERROR 1004 Selection.AutoFill Destination:=Range("V2:V177") Range("V2:V177").Select 

Cuando llego a ese punto, muestra que x es igual a "C:\Name\Name\Name\[Filename.xlsx" .

¿Ese es el formatting que debería ser?

El problema no está en el valor de x , que parece que está en un formatting válido.

El problema radica en asignar una fórmula, escrita con notación A1 , a una celda que usa su propiedad FormulaR1C1 .

Cambio

 ActiveCell.FormulaR1C1 = "=VLOOKUP($E2,'" & x & "]file_2017072732'!$B$5:$AP$9486,18,FALSE)" 

a cualquiera

 ActiveCell.Formula = "=VLOOKUP($E2,'" & x & "]file_2017072732'!$B$5:$AP$9486,18,FALSE)" 

o

 ActiveCell.FormulaR1C1 = "=VLOOKUP(RC5,'" & x & "]file_2017072732'!R5C2:R9486C42,18,FALSE)" 

y debería estar bien.