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

Come si inserisce il nome del file corrente in Excel?

Sto cercando di visualizzare il nome del file su cui sto lavorando nel foglio di calcolo Excel di interesse usando una formula. Per esempio se il file si chiamasse workbook1.xlsx allora vorrei che la cella A1 mostrasse “workbook1.xlsx”

La formula che il sito di aiuto di Microsoft dà non funziona http://office.microsoft. com/it-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)

Risposte (6)

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

Qui funziona, ho appena testato su Excel 2007 (XP) e Excel 2013 (Windows 8).

Prova prima =CELL("filename") da solo per aiutare la risoluzione dei problemi.

  • Assicurati di aver salvato la tua cartella di lavoro su disco. Non mostrerà “Book1” se metti la formula in una nuova cartella di lavoro non salvata.

  • Stai usando impostazioni regionali non inglesi sul tuo computer? Alcune lingue richiedono l'adattamento dei nomi delle funzioni e della sintassi delle formule (in francese per esempio, le virgole devono essere sostituite dal punto e virgola).

  • Sei sul tuo computer personale o su un computer di lavoro? Se si tratta di un computer di lavoro, potrebbero esserci limitazioni dei diritti dell'utente che causano problemi.

Quando dici “non funziona”, puoi essere più specifico? Accetta la formula come digitata? La cella è vuota, mostra “#VALORE!”, ecc. Cosa succede quando si usa solo =CELL("filename")?

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

Notate che =CELL("filename") vi dà il percorso dell’ ultimo workbook/foglio di lavoro cambiato quindi se avete 2 workbook aperti, abc e xyz e la vostra formula è in abc, se avete cambiato l'ultimo valore in xyz la formula in abc lo rifletterà e restituirà xyz.xlsx

Per questa ragione è solitamente preferibile includere un riferimento alla cella (qualsiasi riferimento alla cella), es.

=CELL(“nome del file”, A1 )

Usare questa versione significa che otterrete sempre e solo il nome della cartella di lavoro in cui risiede la formula.

Potete usare questa versione leggermente più 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

Ho trovato questa formula “più semplice” per restituire solo il nome del file:

=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)),"""")"

Per restituire il percorso completo, questo 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
1
1
2015-08-28 14:34:41 +0000

Se usate excel in olandese, dovreste usare i nomi delle funzioni olandesi e usare il punto e virgola invece della virgola:

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

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

Ho avuto lo stesso problema (la formula incollata non funzionava)! Una volta che ho sostituito lo , con lo ; nella formula ha funzionato perfettamente.

=MID(CELL(“nome del file”);CERCA(“[”;CELL(“nome del file”))+1; CERCA(“]”;CELL(“nome del file”))-CERCA(“[”;CELL(“nome del file”))-1)

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

La soluzione più semplice è questa:

Nel vostro file Excel premete Alt+F11, che apre Microsoft Visual Basics for Applications (VBA). In VBA seleziona Insert > Module e incolla il seguente codice

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

Nel tuo file Excel scrivi formula: =GetMyProp("Title"). Questo mostrerà il titolo del tuo documento nella cella scelta.