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

13

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

A fórmula que o site de ajuda da Microsoft oferece não funciona: link

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

    
por timothy.s.lau 10.06.2013 / 22:29

6 respostas

13

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

Teste primeiro =CELL("filename") sozinho para ajudar na solução de problemas.

  • Certifique-se de ter salvo sua pasta de trabalho no disco. Ele 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 que não o inglês em seu computador? Alguns idiomas exigem o ajuste de nomes de funções e sintaxe de fórmulas (em francês, por exemplo, as vírgulas devem ser substituídas por ponto e vírgula).

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

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

    
por 10.06.2013 / 22:42
8

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 um valor pela última vez 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

= CELL ("nome do arquivo", A1 )

Usar essa versão significa que você só receberá o nome da pasta de trabalho na qual a fórmula reside.

Você pode usar esta versão ligeiramente mais curta

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

    
por 11.06.2013 / 01:35
1

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

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

    
por 09.01.2015 / 17:11
1

Uma solução mais simples é esta:

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

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

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

    
por 15.01.2015 / 11:41
1

Se você usa o excel em holandês, deve usar os nomes das funções holandesas 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"));"")

    
por 28.08.2015 / 16:34
1

Descobri que essa é a fórmula "mais simples" para retornar somente 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 funcionará:

=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),""["","""")"
    
por 29.06.2017 / 18:48