Como você insere o nome do arquivo atual no Excel?


14

Estou tentando visualizar o nome do arquivo em que estou trabalhando na planilha de interesse do Excel usando uma fórmula. Por exemplo, se o arquivo foi chamado workbook1.xlsx, eu gostaria que a célula A1 mostrasse "workbook1.xlsx"

A fórmula fornecida pelo site de ajuda da Microsoft não 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)


De que maneira isso não funciona? Qual é o resultado? Você salvou a pasta de trabalho?

Respostas:


14

Funciona aqui, acabei de testar no Excel 2007 (XP) e Excel 2013 (Windows 8).

Tente =CELL("filename")sozinho primeiro para ajudar a solucionar problemas.

  • Verifique se você salvou sua pasta de trabalho em disco. Não mostrará "Livro1" se você colocar a fórmula em uma nova pasta de trabalho não salva.

  • Você está usando configurações regionais não inglesas no seu computador? Alguns idiomas que exigem o ajuste de nomes de funções e sintaxe da fórmula (em francês, por exemplo, vírgulas devem ser substituídas por ponto e vírgula).

  • Você está no seu computador pessoal ou no local de trabalho? Se for um computador de trabalho, talvez haja limitações de direitos do usuário causando problemas.

Quando você diz "não funciona", pode ser mais específico? Ele aceita a fórmula conforme digitada? A célula está vazia, mostrando "#VALUE!", Etc? O que acontece quando apenas usando =CELL("filename")?


Eu acho que tinha um espaço ou algo assim, funciona agora. Obrigado!
timothy.s.lau

Parece não funcionar na versão beta do Excel 2015.
Akku

Certifique-se a marcação da célula que você está é geral / padrão (por isso não text / número, etc)
Lexib0y

1
Não funcionou para mim, até que mudei o caractere de vírgula para ponto e vírgula, de acordo com meu código de idioma.
mavrosxristoforos

9

Observe que =CELL("filename")fornece o caminho para a última pasta de trabalho / planilha alterada; portanto, se você tiver duas pastas de trabalho abertas, abc e xyz e sua fórmula estiver em abc, se você alterou pela última vez um valor em xyz, a fórmula em abc refletirá isso e retornaráxyz.xlsx

Por esse motivo, geralmente é preferível incluir uma referência de célula (qualquer referência de célula), por exemplo

= CÉLULA ("nome do arquivo", A1 )

O uso dessa versão significa que você apenas obterá o nome da pasta de trabalho na qual a fórmula reside.

Você pode usar esta versão um pouco mais curta

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


2

Eu descobri que essa é a fórmula "mais simples" para retornar apenas o nome do arquivo :

=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 retornar o caminho completo , isso fará:

=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

Eu tive o mesmo problema (a fórmula colada não funcionou)! Depois de substituir o ,por ;na fórmula, ele funcionou perfeitamente.

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


Eu acredito que isso ocorre porque você está usando uma versão Euro do Excel. A versão Euro usa ponto e vírgula em vez de vírgulas para parâmetros de função. A versão internacional também usa vírgulas, acredito.
precisa saber é

Não se trata realmente de qual versão do Excel você está executando, mas de qual 'delimitador' você está usando nas configurações regionais.
deroby

1

Solução mais simples é esta:

No arquivo do Excel, pressione Alt+ F11, que abre o Microsoft Visual Basics for Applications (VBA). No VBA, selecione Insert > Modulee cole o seguinte código

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

Em sua fórmula tipo de arquivo Excel: =GetMyProp("Title"). Isso mostrará o título do seu documento na célula escolhida.


1

Se você usa o excel em holandês, deve usar os nomes das funções em holandês e usar ponto e vírgula em vez de vírgula:

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.