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

Macro en/of formule die kopieert en kolommen als vaste entiteiten herkent

Status
Niet open voor verdere reacties.

Vergetelheid

Gebruiker
Lid geworden
14 jan 2010
Berichten
11
Beste forumgenoten,

Ik ga meteen met de deur in huis vallen :): ik heb een probleem en ga m'n best doen om het zo goed mogelijk uit te leggen. Bijgevoegd vind je één heel summier excelbestandje dienende als voorbeeld van een bronbestand.

Goed, er zijn dus twee Excelbestanden. Het is de bedoeling dat een macro ervoor kan zorgen dat bepaalde gegevens (kolommen met een titel) van het ene bestand (het bronbestand) automatisch gekopieerd worden naar een bepaalde plaats in het andere bestand. Tot zo ver het eenvoudige. Maar de kolommen moeten als zogenaamde "entiteit op zich" worden beschouwd. Waarmee ik wil zeggen dat als je in dat bronbestand een bepaalde kolom van bv. C naar E verplaatst, dat die macro daar ook rekening mee houdt en dan niet plots een verkeerde kolom gaat selecteren om over te nemen. Daarom - denk ik - zijn dollartekens hier niet van toepassing, omdat zij enkel maar een bepaald bereik vastzetten en niets meer dan dat. Ik heb al geprobeerd de kolommen namen toe te kennen, maar dat werkt helaas niet "bestandoverschrijdend".

In het bijgevoegde werkblad vind je de kolommen NAAM - VOORNAAM - WOONPLAATS - TAAL. Indien je dus in dit bronbestand bijvoorbeeld "woonplaats" zou verschuiven naar kolom F, zou de macro in het andere bestand die even goed moeten vinden, zonder iets aan de oorspronkelijk voorbehouden volgorde van de te kopiëren gegevens in het doelbestand te veranderen.

Ik hoop dat jullie eraan uit kunnen, en ben alvast heel dankbaar voor elke hulp!
 

Bijlagen

Vertel eens wat de zin is om op 2 plekken dezelfde informatie te hebben.
 
Allereerst, welkom op dit forum!.
Evenals snb snap ik ook niet goed dat je perfect 2 dezelfde bestanden wil maken.

Als je dit toch per se wilt, kan je in Map2 in cel A1 gewoon invoeren: =[Map1.xls]Blad1!A1


En deze formule sleep je dan lekker door tot zover voor jou nodig is.
 
Allereerst, welkom op dit forum!.
Evenals snb snap ik ook niet goed dat je perfect 2 dezelfde bestanden wil maken.

Het is niet de bedoeling om twee exact dezelfde bestanden te maken. :)

In een van de doelbestanden staat er al een map klaar met andere gegevens, die aangevuld moeten worden met die uit het bronbestand. Het bronbestand is in de werkelijkheid niet zo simpel als het geüploade bestand, maar telt vele kolommen en bijna eindeloze rijen. Bovendien moet er regelmatig wat verschoven worden.

Om tijd te winnen, zou het daarom zeer handig zijn als de formule of macro een bepaalde kolom (bv.: "naam") herkent en overzet, ook als deze volgende keer in kolom T staat i.p.v. in kolom A.

Een gewone kopieeropdracht volstaat dus niet. :confused:
 
als je in je eerste rij titels zet (zowel bij bron- als doelbestand), kan je in je doelbestand een horiz.zoeken gebruiken ;)
 
als je in je eerste rij titels zet (zowel bij bron- als doelbestand), kan je in je doelbestand een horiz.zoeken gebruiken ;)

Bedankt. Zover ben ik al. Nu is er nog de kwestie: als ik met de vulgreep de formule in A2 (op de plaats waar dus "Vercruysse" staat) verplaats naar rechts en naar onder, komt er overal N/B. Ik vermoed dat dit komt omdat ik als rij-index getal een 1 ingeef, maar dat evolueert natuurlijk niet mee.

Is er een manier om dus met horizontaal zoeken alle gegevens van het bronbestand in een handomdraai daar te krijgen?
 
Als in de eerste rij je titels staan, kan je in cel A2 zetten:
Code:
=HORIZ.ZOEKEN(A$1;bereik;RIJ(B2);0)
 
Zo kan hij de eerste rij vinden Vercruysse - Stefaan - Wervik - NL

en in A3 zet hij vreemd genoeg niet Jonckheere maar Verhaeren.

En als je het dan met de vulgreep verderkopieert verschijnt er niks anders dan... #N/B.

We komen dichterbij, maar we zijn er nog niet helemaal. :o
Ik zie er echter geen graten meer in.
 
zo wil het

Vergetelheid,

in je horizontaal zoeken formule dien je steeds het resultaat te vinden in rij 2, want je zoek bereik schuift ook telkens een regel naar beneden op.
in de formule neem je een verwijzing op naar het rijnummer "RIJ(A2)" bv.

Zie bijlage
 

Bijlagen

Laatst bewerkt:
of zo

Vergetelheid,

het kan ook anders, nl door het zoekbereik een naam te geven (waardoor het steeds hetzelfde blijft) en de formules enigszins aan te passen. >>> zie bijalge
 

Bijlagen

Hartelijk dank, Haije

Echter, als er één kolom van plaats verwisseld wordt in de brongegevens (hetgeen je geel hebt aangeduid) is de formule om zeep.

Ze moet waterdicht zijn. Of is dat überhaupt niet mogelijk? :(
 
Voor cel A2 op blad1:
Code:
=INDIRECT(ADRES(RIJ();VERGELIJKEN(A$1;Blad3!$A$1:$D$1;0);;;"Blad3"))
kopieren naar de overige cellen. Als je hierna op blad3 een kolom invoegt tussen b.v. kolom C en D, dan blijft het volgens mij goed.
 
Voor cel A2 op blad1:
Code:
=INDIRECT(ADRES(RIJ();VERGELIJKEN(A$1;Blad3!$A$1:$D$1;0);;;"Blad3"))
kopieren naar de overige cellen. Als je hierna op blad3 een kolom invoegt tussen b.v. kolom C en D, dan blijft het volgens mij goed.

Helaas maar nee... als ik een kolom verplaats komt er weer N/B.
Als je een kolom tussenvoegt blijft hij het vinden, maar 't volstaat niet vrees ik.

Het is echt wel op een hoofdbreker aan het uitdraaien... :evil:
 
Laatst bewerkt:
Ik dacht dat je alleen kolommen zou invoegen...
Verander de formule van A2 in:
Code:
=INDIRECT(ADRES(RIJ();VERGELIJKEN(A$1;Blad3![B]$1:$1[/B];0);;;"Blad3"))
Vervolgens kopieren naar de overige cellen.
 
en de oplossing in post nr 11?
 
Ik dacht dat je alleen kolommen zou invoegen...
Verander de formule van A2 in:
Code:
=INDIRECT(ADRES(RIJ();VERGELIJKEN(A$1;Blad3![B]$1:$1[/B];0);;;"Blad3"))
Vervolgens kopieren naar de overige cellen.

Enorm bedankt, Bandito Bob. DAT is het.

Nu rest er nog één enkel vraagje: werkt dit ook als de op te zoeken informatie in een andere werkmap (= lees: ander bestand) staat? Tot zover ik geprobeerd heb niet, maar ik ben dan ook geen deskundige... :D
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan