deel van bestandsnaam in cel plaatsen

Status
Niet open voor verdere reacties.

johtin

Gebruiker
Lid geworden
5 okt 2011
Berichten
8
Hallo,

ik ben op zoek naar een code die een deel van de bestandsnaam in een cel plaatst, het liefst in vba.
Ik heb een code voor in de cel:
=DEEL(CEL("bestandsnaam");VIND.SPEC("[";CEL("bestandsnaam"))+15;VIND.SPEC("]";CEL("bestandsnaam"))-VIND.SPEC("[";CEL("bestandsnaam"))-19)
Maar wanneer ik van werkboek verwissel ( in de regel staan er ± 10 open en in alle werkboeken zitten deze code's) blijft deze code overheersen, zodat erin de cel verkeerde tekst komt.
Ik heb verschillende namen zoals bijv: weekoverzicht_01.xls , A1_01.xls en mijn bedoeling is dat ik alleen het nummer in de cel krijg ( 01 ).

Ik hoop dat iemand hier een oplossing voor weet, alvast hartelijke dank.

gr Johan
 
Het lijkt me op zich geen probleem maar zoals meestal gewenst bij dit soort dingen, plaats een voorbeeld bestandje.
 
voorbeeldbestand

Hallo Edmoor,

ik krijg het niet voor elkaar :confused: om een bijlage toe tevoegen. Misschien komt dit omdat ik op een beveiligd netwerk zit :(

Maar wanneer je deze code:
Code:
=DEEL(CEL("bestandsnaam");VIND.SPEC("[";CEL("bestandsnaam"))+15;VIND.SPEC("]";CEL("bestandsnaam"))-VIND.SPEC("[";CEL("bestandsnaam"))-19)

plaatst in een nieuwe werkmap met als naam "weekoverzicht_01.xls" dan krijg je de waarde van 01 in de betreffende cel.
Wanneer ik nog een map aanmaak "a1_02.xls"
en plaats daar de code
Code:
=DEEL(CEL("bestandsnaam");VIND.SPEC("[";CEL("bestandsnaam"))+4;VIND.SPEC("]";CEL("bestandsnaam"))-VIND.SPEC("[";CEL("bestandsnaam"))-8)
dan zal in de betreffende cel de waarde van 02 komen te staan.
Wanneer ik nu weer terug ga naar de werkmap weekoverzicht_01 is de waarde van 01 niet meer juist.

ik hoop dat ik u zo eerst voldoende informatie heb gegeven, als ik thuis ben zal ik proberen als nog een bijlege te sturen.

gr. Johan
 
Opgelost

ik hem het probleem getackeld :)

Ik heb in vba de code
Code:
Sub Workbook_Open()
[Weekoverzicht!J1] = ThisWorkbook.Name
End Sub

Geplaatst zodat in cel J1 de volledige naam komt. (in mijn geval Weekoverzicht_01.xls)
In een andere cel (bijv: K5) de code
Code:
=DEEL(J1;15;2)

geplaatst zodat alleen het weeknummer er komt te staan 01.
Dit is echter tekst dus kan er niet mee gerekend worden, dus heb ik cel K4 de code =K5*1 geplaatst, daar heb ik nu een getal waarmee ik kan rekenen.

Ik geef toe een beetje omslachtig :rolleyes:, maar voor mij funtioneel genoeg.:thumb:
 
Zonder al die formules
Code:
Sub Workbook_Open()
[Weekoverzicht!K4].Value = Mid(ThisWorkbook.Name, 15, 2)
End Sub
 
Hallo Warme Bakkertje,

dank je wel voor de "eenvoudige" oplossing :D dit is inderdaad minder omslachtig.

Johan
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan