• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Bestandsnaam lezen uit een cel

Status
Niet open voor verdere reacties.

Roelant

Gebruiker
Lid geworden
20 mrt 2007
Berichten
112
Stel dat in cel A1 "XYZ" staat en dat er naast het huidige bestand nog een bestand XYZ.xls bestaat. Nu wil ik in cel A2 gegevens opvragen uit XYZ.xls, wat precies is denk ik niet relevant. Mijn vraag is hoe kan ik in bijvoorbeeld een ALS-functie de link kan leggen tussen wat er in cel A1 staat en de bestandsnaam van het bestand waar ik uit wil lezen.

Anders gezegd, hoe kan ik de bestandsnaam lezen uit een cel?
 
Beste Roelant,

Dat gaat met de functie INDIRECT, maar een verwijzing met deze functie naar een ander bestand leidt tot een foutmelding als dat bronbestand niet geopend is.
Gebruik de zoekfunctie op deze site maar eens.

Richard
 
En lezen uit een niet geopend bestand is niet mogelijk? Of de laatste versie onthouden of zo?
 
't Is geen probleem op een koppeling te leggen uit het ene bestand =Doelbestand, naar een ander bestand = Bronbestand.
Bij het openen van het doelbestand vraagt Excel dan of de koppelingen bijgewerkt moeten worden of niet.
Maar de koppeling variabel maken lukt alleen met VBA of de functie INDIRECT.
Wat ook nog kan is via Bewerken > Koppelingen, de koppeling van het ene bestand naar een ander bestand leggen, maar dat geldt dan voor alle formules die naar het bestand verwijzen!

Richard
 
Kan wel hoor.
Bekijk o.a. deze link of deze link maar eens.

Dat kan inderdaad, maar niet "rechtstreeks" of zonder VBA of hoe je het ook noemen wil ;)

Ik heb ooit een UDF in VBA gezien, denk dat die Pull heette en door Excel MVP Harlan Grove geschreven werd. Maar dat duurde redelijk lang om te berekenen, dus eigenlijk is dat ook niet echt een optie. Tenzij voor mensen met veel tijd en geduld :D
 
En lezen uit een niet geopend bestand is niet mogelijk?

Ja ik ben er inmiddels achter dat dat inderdaad wel werkt ja. Als je bijwerken --> Ja klikt zal hij gewoon de veranderingen die gemaakt zijn doorvoeren.

Maar even terugkomend op mij eerste vraag. Die is eigenlijk nog niet beantwoord en het werkt ook niet echt met INDIRECT.

Bij cellen in hetzelfde bestand levert het geen problemen op. Excel zal begrijpen dat B1 staat voor cel B1. Ik wil een functie gebruiken voor een cel in een ander bestand, stel XYZ.xls, blad 1, cel A1. Nu staat er in een cel in het huidige bestand, stel B2, "XYZ". Het bladnummer en het celnummer staan vast. De functie moet de waarde in B2 lezen en gebruiken om te weten dat ie uit dat bestand moet lezen (XYZ.xls dus). Als ik dat nou zou veranderen in "XXX" dan moet de functie over XXX.xls worden uitgevoerd.

Ik hoop dat nu een beetje duidelijk is wat mijn bedoeling is.
 
Beste Roelant,

Dat is precies wat de functie INDIRECT voor je doet! Een andere functie in Excel die dat kan ken ik niet.

Richard
 
Ok, bedankt.

Zo snel ik in de help-functie van Excel kan vinden, vond ik weinig over het lezen van een bestandsnaam uit een cel wel over het lezen van een celnaam uit een cel.

Maar ik zal wel dieper gaan zoeken dan, als jij zegt dat het er mee kan.
 
Beste Roelant,

Stel, in cel D7 staat het pad: \\servernaam\users\gebruikersnaam\Mijn Documenten\
in cel D8 staat de bestandsnaam: bronbestand.xls
in cel D9 staat de naam van het tabblad: Blad1
in cel D10 staat het adres van de cel: A1

Als een 'gewone' verwijzing er zo uitziet:
Code:
='\\servernaam\users\gebruikersnaam\Mijn Documenten\[bronbestand.xls]Blad1'!$A$1

Dan kan dat met de functie INDIRECT als volgt:
Code:
=INDIRECT("'"&D7&"["&D8&"]"&D9&"'!"&D10)
Let er wel op dat je de enkele en dubbele quotjes goed zet. 't Is even stoeien met de syntaxt, maar het werkt wel.
Probleem is wel dat ik vanuit mijn bestand verwijs naar 'bronbestand.xls'. Als dat bronbestand gesloten is, dan krijg je de foutmelding #VERW!

Groeten,
Richard
 
Ok, bedankt, denk dat ik daar wel wat aan heb, hoewel dat laatste wat je zegt wel een serieus probleem is. Ik zal eens kijken of er andere mogelijkheden zijn om dat probleem te omzeilen.
 
Ok, bedankt, denk dat ik daar wel wat aan heb, hoewel dat laatste wat je zegt wel een serieus probleem is. Ik zal eens kijken of er andere mogelijkheden zijn om dat probleem te omzeilen.

Wat mogelijk is, is een knop op je blad zetten. Met code daarachter om het bronbestand te openen, en dan bepaalde cellen over te zetten of zo.
 
Beste Roelant,

Afhankelijk van het aantal bladen dat je wilt gebruiken, kun je ook overwegen om te werken met verborgen werkbladen die je dezelfde naam geeft als het bronbestand. In zo'n werkblad leg je de koppeling naar het bestand, en via de functie INDIRECT leg je weer een variabele link naar één van de verborgen werkbladen.
De functie INDIRECT werkt namelijk perfect binnen hetzelfde bestand en ik maar er met bepaalde rapportages en controles graag gebruik van.

Richard
 
Laatst bewerkt:
Beste Roelant,

Afhankelijk van het aantal bladen dat je wilt gebruiken, kun je ook overwegen om te werken met verborgen werkbladen die je dezelfde naam geeft als het bronbestand. In zo'n werkblad leg je de koppeling naar het bestand,

Zit je dan niet met hetzelfde probleem? Anders begrijp ik deze methode niet goed.
 
Ja, op zich is dat wel een goed idee, want het zal in mijn geval lastig zijn om de bronbestanden zelf allemaal te openen, aangezien deze op verschillende schijven en mappen staan verdeeld.

Als je van deze bestanden (bladen) een (onzichtbaar) kopie maakt in het huidige bestand dan zou ik dat probleem inderdaad niet hebben. Want dan kun je met een simpele "Ja, ik wil bijwerken" de boel bijgewerkt hebben, als ik mij niet vergis.

Maar hoe is het mogelijk dan om (onzichtbare) kopie-en te maken van die bestanden?
 
@ Roelant en Wigi,

In de bijlage zitten drie bestanden: ABC.xls, XYZ.xls en Roelant.xls. Je kunt ze uitpakken in dezelfde map denk ik.
In het bestand Roelant.xls zitten twee verborgen tabbladen ABC en XYZ. Vanaf die tabladen zijn koppelingen gelegd naar de bestanden ABC.xls en XYZ.xls. Op deze manier is de functie INDIRECT niet nodig, en heb je toch een koppeling met onderliggende bestanden.
Dit bedoelde ik vanmiddag, maar had geen tijd het uit te werken.

Groetne,
Richard
 

Bijlagen

Ok, bedankt, ziet er duidelijk uit. Dit is inderdaad wel handig.

Maar nu is mijn volgende vraag. Hoe kopieer je de opmaak van alle cellen van het bronblad?
En is het te doen om het totale blad in 1 keer te kopieeren zonder dit aan te moeten geven per cel?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan