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)

timothy.s.lau
fonte
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")?

mtone
fonte
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)),"")

barry houdini
fonte
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),""["","""")"
Gustav
fonte
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)

Polle
fonte
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.

Benny Huyghe
fonte
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"));"")

Gast
fonte