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

Hoe voeg je de huidige bestandsnaam in Excel in?

Ik probeer de bestandsnaam waaraan ik werk te zien in de Excel spreadsheet van belang met behulp van een formule. Bijvoorbeeld als het bestand werkmap1.xlsx heet dan zou ik willen dat cel A1 “werkmap1.xlsx” toont

De formule die Microsoft’s help site geeft werkt niet 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(“bestandsnaam”),SEARCH(“[”,CELL(“bestandsnaam”))+1, SEARCH(“]”,CELL(“bestandsnaam”))-SEARCH(“[”,CELL(“bestandsnaam”))-1)

Antwoorden (6)

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

Het werkt hier, ik heb net getest op Excel 2007 (XP) en Excel 2013 (Windows 8).

Probeer eerst alleen =CELL("filename") om te helpen problemen op te lossen.

  • Zorg ervoor dat u uw werkmap op schijf hebt opgeslagen. Er verschijnt geen “Boek1” als u de formule in een nieuwe, niet-opgeslagen werkmap zet.

  • Gebruikt u niet-Engelse regionale instellingen op uw computer? Sommige talen vereisen aanpassing van functienamen en formule syntaxis (in het Frans bijvoorbeeld, moeten komma’s worden vervangen door puntkomma’s).

  • Gebruikt u uw eigen computer of een computer op uw werk? Als het een werkcomputer is, kunnen er misschien gebruikersrechtenbeperkingen zijn die problemen veroorzaken.

Als je zegt “het werkt niet”, kun je dan iets specifieker zijn? Accepteert het de formule zoals getypt? Is de cel leeg, toont “#VALUE!”, etc? Wat gebeurt er als u gewoon =CELL("filename") gebruikt?

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

Merk op dat =CELL("filename") u het pad geeft naar de laatste werkmap/werkblad dat gewijzigd is dus als u 2 werkmappen open heeft, abc en xyz en uw formule staat in abc, als u voor het laatst een waarde heeft gewijzigd in xyz zal de formule in abc dat weergeven en xyz.xlsx

Om die reden is het meestal te verkiezen om een celverwijzing op te nemen (elke celverwijzing), bijv. b.v.

=CELL(“bestandsnaam”, A1 )

Gebruik van die versie betekent dat je altijd alleen de werkmapnaam krijgt van de werkmap waarin de formule staat.

U kunt deze iets kortere versie gebruiken

=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

Ik heb dit de “eenvoudigste” formule gevonden om alleen de filenaam terug te geven:

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

Om het volledige pad terug te geven, is dit voldoende:

=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

Als je Excel in het Nederlands gebruikt, moet je de Nederlandse functienamen gebruiken en puntkomma’s gebruiken in plaats van komma’s:

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

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

Ik had hetzelfde probleem (de geplakte formule werkte niet)! Toen ik eenmaal de , door ; in de formule had vervangen werkte het perfect.

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

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

Een eenvoudigere oplossing is deze:

Druk in uw Excel-bestand op Alt+F11, waarmee Microsoft Visual Basics for Applications (VBA) wordt geopend. In VBA selecteert u Insert > Module en plakt u de volgende code

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

In uw Excel bestand typt u formule: =GetMyProp("Title"). Dit zal de titel van uw document tonen in de gekozen cel.