Hallokes allen,
Hier ben ik nog eens met een VBA-projectje
Het betreft een indexeringsbestand van officiële akten voor één specifieke stamnaam.
Het eerste werkblad “OrigLijstGeb” is de originele indexlijst welke handmatig aangevuld word volgens gemeente (alfabetische volgorde) en dan volgens datum (chronologische volgorde) en moet dan ook volledig in deze volgorde en opmaak blijven.
Vervolgens heb ik nog 5 werkbladen waarop de gegevens uit “OrigLijstGeb” overgenomen worden met enkele samengevoegde kolommen (dag & mnd & jaar / naam & voornaam geborene / naam & voornaam moeder) (waarbij ik dus van 11 kolommen naar 7 kolommen ga) en twee hulpkolommen (‘SortDat’ en ‘SortVnGeb’) om op een bepaalde wijze de lijst te kunnen sorteren.
1) werkblad “SortVnGeb” om de lijst via de hulpkolom ‘SortVnGeb’ te laten sorteren.
2) werkblad “SortVaderGeb” om de lijst op kolom ‘Vader’ te laten sorteren.
3) werkblad “SortMoederGeb” om de lijst op kolom ‘Moeder’ te laten sorteren.
4) werkblad “SortDatGeb” om de lijst via de hulpkolom ‘SortDat’ te laten sorteren.
5) werkblad “SortPltsGeb” om de lijst op kolom ‘Gemeente’ te laten sorteren.
Wat heb ik zelf reeds gedaan? :
Ik heb een (simpele) macro geschreven waarbij de gegevens uit “OrigLijstGeb” in de gewenste opmaak (samengevoegde- en hulpkolommen) worden weggeschreven naar werkblad “SortVnGeb”.
Dit werkt correct met één klein hindernisje : nl. naarmate de lijst ‘aangroeit’ zal ik met de huidige code steeds de range in de macro moeten aanpassen. Als ik de range op voorhand ‘groot’ genoeg maak dan duurt het verwerken gigantisch lang omdat hij de volledige range verwerkt en niet enkel de gevulde rijen (code-aanpassing om dit te verhinderen is dus gewenst).
Wat moet er nog toegevoegd/aangepast worden? :
Dus in eerste instantie een aanpassing inzake het aantal rijen dat telkens “verwerkt” moet worden (enkel de gevulde rijen).
Verder zou de code dusdanig uitgebreid moeten worden dat de gegevens niet enkel naar het werkblad “SortVnGeb” worden weggeschreven maar ook naar de andere 4 werkbladen (dit dient op alle werkbladen identiek weggeschreven te worden).
Nu heb ik dit eventjes handmatig van “SortVnGeb” naar de andere 4 werkbladen gekopieerd maar omdat die lijst alsmaar langer en langer zal worden is het niet haalbaar om dit telkens handmatig te blijven doen.
Dan wat de sortering betreft heb ik deze voorlopig ook ‘handmatig’ gedaan maar het zou ook hier handiger zijn moest dit direkt in de code mee verwerkt worden per werkblad om dezelfde reden dat de lijst alsmaar langer zal worden en het niet haalbaar zal blijven dit telkens handmatig uit te voeren.
Toelichting :
Ik hoor sommigen al denken, “waarom vijf verschillende werkbladen om telkens op andere wijze te sorteren?” Wel, omdat de vijf sorteringen ten allen tijde beschikbaar moeten zijn voor raadpleging en/of kopiëren/afdrukken en ik niet elke keer opnieuw een andere sortering handmatig wil moeten toepassen, zeker gezien de immense hoeveelheid gegevens er uiteindelijk aanwezig zullen zijn.
De macro zelf zal uitgevoerd moeten worden telkens nadat er een nieuwe lading indexeringen is toegevoegd.
Alvast mijn oprechte dank op voorhand voor diegenen die de moeite/tijd willen nemen om mij te helpen.
groetjes,
BlackDevil