2013-06-10 20:29:02 +0000 2013-06-10 20:29:02 +0000
14
14

¿Cómo se inserta el nombre del archivo actual en Excel?

Estoy tratando de ver el nombre del archivo en el que estoy trabajando en la hoja de cálculo de Excel de interés utilizando una fórmula. Por ejemplo, si el archivo se llamara workbook1.xlsx entonces querría que la celda A1 mostrara “workbook1.xlsx”

La fórmula que da el sitio de ayuda de Microsoft no funciona http://office.microsoft. com/en-us/excel-help/insert-the-current-excel-file-name-path-or-worksheet-in-a-cell-HA010103010. aspx#BMinsert3

=MID(CELL(“filename”),SEARCH(“[”,CELL(“filename”))+1, SEARCH(“]”,CELL(“filename”))-SEARCH(“[”,CELL(“filename”))-1)

Respuestas (6)

14
14
14
2013-06-10 20:42:32 +0000

Aquí funciona, acabo de probar en Excel 2007 (XP) y Excel 2013 (Windows 8).

Pruebe primero con =CELL("filename") solo para ayudar a solucionar el problema.

  • Asegúrese de que ha guardado el libro en el disco. No se mostrará “Libro1” si pone la fórmula en un nuevo libro de trabajo sin guardar.

  • ¿Está utilizando una configuración regional no inglesa en su ordenador? Algunos idiomas requieren ajustar los nombres de las funciones y la sintaxis de las fórmulas (en francés, por ejemplo, hay que sustituir las comas por puntos y comas).

  • ¿Está en su ordenador personal o en el del trabajo? Si se trata de un ordenador de trabajo, quizá haya limitaciones de derechos de usuario que causen problemas.

Cuando dices que “no funciona”, ¿puedes ser más específico? ¿Acepta la fórmula tal y como se ha escrito? ¿Está la celda vacía, mostrando “#VALOR”, etc.? ¿Qué sucede cuando sólo se utiliza =CELL("filename")?

9
9
9
2013-06-10 23:35:14 +0000

Tenga en cuenta que =CELL("filename") le da la ruta del último libro de trabajo/hoja de trabajo cambiado, así que si tiene dos libros de trabajo abiertos, abc y xyz y su fórmula está en abc, si cambió por última vez un valor en xyz, la fórmula en abc lo reflejará y devolverá xyz.xlsx

Por esa razón, normalmente es preferible incluir una referencia de celda (cualquier referencia de celda), por ejemplo g.

=CELL(“filename”, A1 )

Utilizando esa versión significa que sólo obtendrá el nombre del libro de trabajo en el que reside la fórmula.

Puede utilizar esta versión ligeramente más corta

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

2
2
2
2017-06-29 16:48:47 +0000

He encontrado que esta es la fórmula más “simple” para devolver el nombre del archivo solamente:

=REPLACE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),1,FIND("[",CELL("filename",A1)),"")

or - created in VBA:

Formula = "=REPLACE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),1,FIND(""["",CELL(""filename"",A1)),"""")"

Para devolver la ruta completa, esto servirá:

=SUBSTITUTE(LEFT(CELL("filename",A1),FIND("]",CELL("filename",A1))-1),"[","")

or - created in VBA:

Formula = "=SUBSTITUTE(LEFT(CELL(""filename"",A1),FIND(""]"",CELL(""filename"",A1))-1),""["","""")"
1
1
1
2015-08-28 14:34:41 +0000

Si utiliza Excel en holandés, deberá utilizar los nombres de las funciones en holandés y usar punto y coma en lugar de coma:

=VERVANGEN(LINKS(CEL("filename");VIND.SPEC("]";CEL("filename"))-1);1;VIND.SPEC("[";CEL("filename"));"")

1
1
1
2015-01-09 16:11:13 +0000

Yo tenía el mismo problema (la fórmula pegada no funcionaba). Una vez que sustituí el , por ; en la fórmula funcionó perfectamente.

=MID(CELL(“filename”);SEARCH(“[”;CELL(“filename”))+1; SEARCH(“]”;CELL(“filename”))-SEARCH(“[”;CELL(“filename”))-1)

1
1
1
2015-01-15 10:41:26 +0000

La solución más sencilla es ésta:

En su archivo de Excel pulse Alt+F11, lo que abre Microsoft Visual Basics for Applications (VBA). En VBA selecciona Insert > Module y pega el siguiente código

Public Function GetMyProp(prop As String) As String
    GetMyProp = ThisWorkbook.BuiltinDocumentProperties(prop)
End Function

En tu archivo de Excel escribe la fórmula: =GetMyProp("Title"). Esto mostrará el título de su documento en la celda elegida.