• 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.

Verwijzen naar ander excel document die veranderd van naam

Status
Niet open voor verdere reacties.

BartFr

Gebruiker
Lid geworden
18 jan 2012
Berichten
37
Goedemorgen,

Hoe ik dit in de titel van het bericht het best kan omschrijven weet ik niet, maar ik zal proberen het zo goed mogelijk uit te leggen.

Ik heb 2 documenten (nu de testfase, de daadwerkelijke documenten zijn een stuk uitgebreider).

Source.rev1.xlsx
ontvanger.xlsx

In ontvanger.xlsx zijn waardes opgenomen uit het andere document. Dus bijvoorbeeld Cell E3 =[Source.rev1.xlsx]Sheet1!$H$13.

Nu is het zo dat de revisie van het "source" document telkens veranderd. Dus rev1 wordt rev2, rev2 wordt rev3, etc. Dit zal ongeveer 1x per maand gebeuren. Het probleem is dat erg veel mensen op deze manier gaan werken, met het "source" document als referentie. Ook gaat het om ontzettend veel verwijzingen.

Het kan niet zo zijn dat dit telkens handmatig ge-update moet worden, of dat bij het openen van het "ontvanger" document bij elke naamswijziging de links moeten worden aangepast.

Ik hoop dat het probleem nu duidelijk is? Mocht dat niet zo zijn, dan wil ik dat graag nog verder toelichten.

Wat nu mijn "oplossing" is:

Ik wil bijvoorbeeld in Cell A1 het revisie nummer hebben (dus 1, veranderd de revisie, dan wordt de waarde 2, etc.). Mocht nu de revisie veranderen, dan wordt 1 veranderd in 2, waardoor meteen alle links veranderen naar (als voorbeeld): =[Source.rev2.xlsx]Sheet1!$H$13

Ik dacht dit eerst met VBA te doen, maar ik liep tegen het probleem aan, dat je dan elke link moet specificeren (zijn er echt ontzettend veel), en het probleem dat je voor elke revisie een code moet aanmaken. In een kleine test bleef excel ook om een referentie vragen...

Ik hoop heel erg dat iemand me een oplossing hiervoor kan geven. Dus eigenlijk het automatisch aanpassen van links naar een ander excel document, waarvan de naam veranderd in de loop van de tijd.

Heel erg bedankt alvast en met vriendelijke groet,
Bart
 
Bart,

plaats eens twee voorbeeldbestandjes....
 
Hierbij 2 basic voorbeeld bestandjes.

De echte bestanden bevatten teveel info.

Maar het idee is hetzelfde in ieder geval!

Bedankt voor de reactie alvast!

Mocht er iets niet duidelijk zijn dan probeer ik het aan te passen.
 

Bijlagen

Hoe vaak moet oudere revisies nog bekeken worden?
Anders zou ik gaan voor de mogelijkheid om de meest up to date revisie een vaste naam te geven en de oudere een volgnummer.
Bij toch regelmatig gebruik :
Code:
=INDIRECT("[Source.rev"&D2&".xlsx]Blad1!$E$5")
 
vervang de formule in C8 door:
Code:
=INDIRECT("[Source.rev"&$D$2&".xlsx]"&ADRES(RIJ()-3;5;;;"Blad1"))

en trek door naar beneden
 
Heel erg bedankt voor de antwoorden. Fijn dat er zo goed meegedacht wordt!

Ik heb het geprobeerd. Beide mogelijkheden. In de bijlage heb ik de bestanden weer gedaan. De eerste kolom naast data is de manier van Haije. Hier krijg ik meteen een error. Dat heeft denk ik te maken met het deel "ADRES"?

De methode van popipipo begint goed. Alleen zodra ik dan alles sluit, het bestand verander naar Source.rev2.xlsx, vervolgens open ik "ontvanger" en verander ik de revisie naar 2. (D2). Dan krijg ik weer errors zoals in Kolom 2.

Popipipo, de nieuwere revisies krijgen juist een andere naam. De oudere worden wel bewaard. (het gaat om grote simulaties, dus dan kan er naar oude data gekeken worden, mocht de nieuwe data aparte waardes krijgen). De nieuwere versies zullen dus telkens een nieuwe naam krijgen. Dit is helaas niet te veranderen...

Nogmaals bedankt! Ik hoop dat we eruit komen.

Bart
 
Met de indirect formules moeten wel beide bestanden geopend zijn.
 
EDIT:

Ik zie nu wat je bedoelt met: Beide bestanden geopend zijn. Ze moeten sowieso open zijn, wil je erin werken, anders dan komt er alsnog een error (na afsluiten en weer openen). Ik zou hier even moeten vragen of dat een bezwaar is. Is er een oplossing te vinden dat dit niet nodig is? Of ga ik dan buiten het kunnen van Excel?

Bart

-------------------------------------------------------

Ik zie het ja!

Dus als ik source.rev1 verander naar --> source.rev2, en vervolgens beide bestanden open, D2 veranderen naar revisie nummer 2, dan kan ik hem daarna opslaan en kan ik source.rev2 sluiten. Zolang ik nu het revisienummer D2 niet verander kan ik gewoon met de nieuwe waardes werken.

Dit zou een oplossing kunnen zijn! Heel erg bedankt!

Ik vraag me nu alleen nog af wat het verschil is in oplossingen van Haije en popipipo. En waarom ik bij Haije nog een foutmelding krijg.

Ik zal nu wel de bijlages toevoegen. Net ben ik dat vergeten.

Bedankt!
Bart
 

Bijlagen

Laatst bewerkt:
Als je de engelse versie van excel hebt gebruik dan:
Code:
=INDIRECT("[Source.rev"&$D$2&".xlsx]"&ADDRESS(ROW()-3;5;;;"Blad1"))

Zo niet wat is de foutmelding dan precies?
 
Stom zeg... ik heb inderdaad de engelse versie. Ik heb het aangepast. Nu doet hij het ook prima. (Ik voel me even een ontzettende leek, hehe)

Maar is er ook nog een optie ergens te definiëren dat ze niet beide geopend moeten zijn, of gaat dat te ver?

Groetjes! En wederom bedankt.
Bart
 
Een boek dat je dicht hebt kun je ook niet lezen.
Via VBA (niet mijn ding) kun je wel op de achtergrond het bestandje even openen, gegevens uithalen en bestand weer sluiten.
 
Ja dat is inderdaad te begrijpen.

Via VBA zal dan vast wel alle data ingevoerd moeten worden... Dat is wel een hoop werk denk ik.

Plus dat er meerdere mensen met deze "master" file gaan werken. Dus die zouden dan allemaal kennis van VBA moeten hebben.

Zou het per waarde aangegeven moeten worden in VBA? Of is er bijvoorbeeld iets mogelijk zoals het volgende:

Ontvanger wordt geopend. Het revisienummer wordt veranderd. Alle waardes geven nu een "REF" fout aan. Nu wordt er op een knop gedrukt waar een code achter zit, zodat source.rev2 geopend wordt, alles wordt ingeladen en vervolgens weer afgesloten?

Is het het waard om hier naar door te zoeken, of zeg je: Dit is eigenlijk onbegonnen werk?

Groeten,
Bart
 
Bart,

als je dat op deze manier zou doen dan zie even de juiste waarden verschijnen en zodra je het bestand waar de waarde uit komen weer sluit verschijnt weer de foutwaarde.....
 
Ok,

Dus ik zal er niet aan ontkomen om altijd alles geopend te houden?

Nog een extra vraag. Ik gebruik nu:

Code:
=INDIRECT("[Revisietest"&$E$2&".xlsx]TestTLB!$E$5")

De filename en de worksheet zijn veranderd, omdat ik wat aan het proberen ben.

Wat ik niet zo goed begrijp. Als ik het zo doe, dan werkt het. Alleen zodra er spaties in komen dan wordt het niet meer herkend.
Bijvoorbeeld als ik Revisie test10 gebruik als file name, of als tabblad Test TLB. Klopt het dat het echt namen moeten zijn waar geen spaties in zitten? Of ben ik zelf iets fout aan het doen?

Groeten,
Bart
 
Code:
=INDIRECT("[Revisietest"&$E$2&".xlsx][COLOR="#FF0000"][B]'[/B][/COLOR]Test TLB[COLOR="#FF0000"][B]'[/B][/COLOR]!$E$5")
Als er spaties in de tabblad naam zitten dan heb je extra hangende komma's nodig. ' nodig
 
Bedankt weer!

Ik blijf maar fouten krijgen. Soms lukt het wel, soms ben ik het weer helemaal kwijt. Volgens mij is dit een momentje van: Ik zie door de bomen het bos niet meer.

Ik heb nu eigenlijk vooral problemen met het eerste deel.

Mijn excelfile heet:

PI-348K0-030-M-R-001 rev. 10

Tabblad is:

TLB Test

Mijn code:

Code:
=INDIRECT("['PI-348K0-030-M-R-001 rev. "&$E$2&".xlsx']'Test TLB'!$C$10")

Hier krijg ik de REF fout. Ik heb wel beide files open. Deze files hoeven niet in dezelfde directory te staan toch? (heb ik geprobeerd, maar dan krijg ik dezelfde fout).

Mijn excuses als ik jullie telkens onnodig bezig hou.... ik probeer het telkens wel zelf voor elkaar te krijgen, maar soms zie ik het even niet meer.

Bedankt weer!
Bart

ps. In de bijlage de beide bestanden, misschien is dat wat makkelijker.
 

Bijlagen

Code:
=INDIRECT("'[PI-348K0-030-M-R-001 rev. "&$E$2&".xlsx]Test TLB'!$C$10")
Een klein foutje met de hangende komma's dus.

Hoe had je het zelf kunnen zien is dus nu je volgende vraag?
Ga in testfile staan zet een = in een willekeurige cel ga dan naar de andere file en klik de desbetreffende cel aan sluit af met enter.

Bekijk nu de formule en je ziet hoe het met de hangende komma's is gesteld.
 
Klopt!

Hij werkt nu inderdaad. Heel erg bedankt voor alle hulp. Ik hoop dat dit hier geaccepteerd gaat worden.

Groetjes!
Bart
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan