Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: VBA opmaak bepalen van weg te schrijven (tekst)-waarden  (gelezen 5321 keer)

0 leden en 1 gast bekijken dit topic.

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #15 Gepost op: 07 april 2021, 14:23:15 »
Hallokes allen,

Vooreerst inzake die datums pré 1900 was er aanvankelijk voor het huidige project niet echt een probleem inzake de weergave, mijn oplossing ving dit goed op. Het enige probleem dat ik nu opmerk is dat als ik nadat de 'totaal'-tabel is ingevuld en ik van daaruit dan mijn 'gezinsreconstructies' maak de volgorde waarin de kinderen vermeld worden in elk gezin niet altijd chronologisch is.
Mogelijks is dit probleem wel op te vangen in de 'wegschrijf'-code per gezin maar heb dus geen idee hoe.

Hoe dan ook, ik heb mijn bestand beperkt tot enkele gegevens om de verschillende situaties te kunnen uittesten en heb er zowel een blad 'UITLEG' als de drie 'flow-charts' aan toegevoegd.
Gelieve mij te verontschuldigen indien ik toch iets onvoldoende heb uitgelegd of indien ik iets over het hoofd zou gezien hebben.
Ik hoop dat ik mijn uitleg (over de algemene werking én enkele probleempjes) voldoende uitgebreid heb neergezet alsook dat de flow-charts voldoende duidelijk zullen zijn.
In de modules met code (vrij beperkte code eigenlijk) heb ik ook zoveel mogelijk commentaar geplaatst over de bedoeling/werking ervan.

Indien er toch nog onduidelijkheden zouden zijn dan hoor ik het uiteraard graag en zal dan ook mijn best doen om verder te verduidelijken.

Alvast nog enorm bedankt op voorhand.

Groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.277
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #16 Gepost op: 07 april 2021, 14:48:15 »
Hallo RedHead, Voor zover ik zie is  stelling de die AD1957 voorstelt dezelfde als die van jou...

SoftAid, dát klopt hélemaal die stelling. Het was ook een bevestiging naar AD1957 toe en een voorbeeld naar de TS. ;)

Maar goed, je hebt dit zelfs nog uit een ouder topic weten te halen. Er is toch niets mis met je geheugen!  :thumbsup:
______________________________

Groet, Leo

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #17 Gepost op: 07 april 2021, 15:01:45 »

Met een extra kolom zou je van de datums een getal kunnen maken en hier verder mee werken.
zie voorbeeld.
Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #18 Gepost op: 07 april 2021, 15:22:50 »
*update*

Heb net gemerkt dat ik een minuscuul foutje heb gemaakt in de flow-charts van de GA en de HA.
de vermelding "huw-datum min geb-datum > 17" moet natuurlijk zijn "huw-jaar min geb-jaar > 17".


Edit: Is al aangepast in het bestand zelf.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #19 Gepost op: 07 april 2021, 17:50:20 »
Hallokes allen,

Ik heb uiteraard zelf ook niet stil gezeten en ben ook blijven proberen, zoeken, puzzelen en knutselen en heb één groot probleem reeds kunnen oplossen. Namelijk het geval met die drie "Maria Theresia's" binnen hetzelfde gezin en de verkeerde verwerking van VBA bij het toevoegen van de overlijdensdatums.
Ik had al gemerkt dat hij het enkel foutief deed als ik alle drie indexeringsbladen tegelijk liet verwerken of als ik ze één per één deed in de volgorde GA - HA - OA.
Indien ik enkel eerst GA en vervolgens OA liet verwerken deed hij de verwerking correct.
Hierdoor ging ik ervan uit dat er dus ergens in de wisselwerking van de voorwaarden een foutje moest zitten.
Ik heb de code dan nog eens grondig bestudeerd en heb een lichte wijziging aangebracht in de controle-voorwaarde waar gekeken word of de betreffende persoon reeds aanwezig is en of het g_jaar wel kleiner of gelijk was aan het o-jaar ofwel het h_jaar wel kleiner of gelijk was aan het o_jaar.
dus ipv "g_jaar > 0 And g_jaar <= o_jaar" heb ik er "g_dat <> "" And g_jaar <= o_jaar" van gemaakt en dan hetzelfde met de voorwaarde dat h_jaar <= o_jaar moet zijn.
En nu verwerkt hij alle data op de juiste manier ongeacht welke indexering ik eerst laat verwerken.
Dus dat probleempje (welk ik in het rood op het werkblad 'uitleg' had geplaatst) lijkt opgelost te zijn.

Dan inzake de chronologische sortering van de kinderen in de gezinsreconstructies heb ik het volgende ontdekt.
Indien ik de IDX_GA eerst volgens het g_jaar sorteer alvorens de verwerking naar de totaal-tabel uit te voeren dan geeft hij de kinderen in de gezinsreconstructies wél chronologisch weer.
Dus in principe kan dit alzo opgelost worden maar aangezien er op éénder welk moment nieuwe geboorte-akten kunnen bijkomen waarvan reeds eerder broers/zussen verwerkt werden zou dit betekenen dat ik de gehele TOTAAL-tabel zou moeten leegmaken en opnieuw aanmaken wat dus zottekeswerk is als je bedenkt dat er na verloop van tijd duizenden personen in die totaal-tabel zullen komen te staan. Daar moet ik dus nog verder over brainstormen...
Het probleem is dat zowel in de totaal-tabel als in de gezinsreconstructies de datum moet weergegeven worden in de format dd-mm-jjjj wat het dus lastig maakt om de totaal-tabel chronologisch te gaan sorteren gezien de datums niet erkend worden als datum.

Mijn huiswerk is dus duidelijk... een oplossing zoeken om de weergave in de gewenste format te houden maar toch op één of andere wijze die kinderen chronologisch vermeld te krijgen...
Volgens mij moet dit enigszins toch mogelijk te verwerken zijn binnen de codeblok waar er naar kinderen gezocht wordt gezien ik ook voor de totaal_db code het jaartal uit die datum heb kunnen onttrekken om er vervolgens berekeningen mee te doen.
Ik zoek zelf ook nog wat verder....

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #20 Gepost op: 08 april 2021, 12:52:26 »
*update*

Na veel zoeken en puzzelen heb ik een omweg gevonden om in de gezinsreconstructies de kinderen in chronologische volgorde vermeld te krijgen.
Omdat ik gemerkt had dat de volgorde in de totaal-tabel beslissend was voor de volgorde in de gezinsreconstructies en dat de volgorde in de totaal-tabel afhankelijk was van de volgorde in IDX_GA en er enkel rechtstreeks in de tabel IDX_GA op jaartal gesorteerd kon worden ben ik lang, vruchteloos, aan het zoeken geweest hoe ik in de module van de gezinsreconstructies in het codeblok voor het zoeken naar de kinderen op één of andere manier een sortering kon toevoegen.
Ik moest dus tot de vaststelling komen dat om het gewenste resultaat te verkrijgen de enige locatie die gesorteerd moest worden de 'totaal'-tabel was. De enige sortering die van toepassing was op het gewenste resultaat was die van de geboortedatum.
Maar omdat die datum-notatie in de 'totaal'-tabel een samenstelling is van de drie kolommen uit de 'IDX_GA'-tabel kon er niet rechtstreeks op die waarde gesorteerd worden.
Ik heb dan nog eens het advies van Albert (welk ook bevestigd werd door RedHead) herbekeken en realiseerde mij dat een extra hulpkolom naast de laatste kolom van mijn 'totaal'-tabel zeker niet storend zou zijn en ik dan de 'totaal'-tabel op die kolom kon laten sorteren. Ik heb dan eerst in de module voor de totaal-tabel, in het codeblok voor de toevoeging van de geboorten, nog een extra waarde (datum als getal) laten toevoegen in die hulpkolom waarna ik dan gesorteerd heb op die kolom en ik vervolgens de juiste volgorde kreeg in de gezinsreconstructies.

Om te voorkomen dat die extra 'sortering' al eens 'vergeten' zou worden zou ik dus de sorteercode willen toevoegen aan het begin van de module gezinnen. Om een idee te krijgen hoe die code eruit zou moeten zien had ik een macro opgenomen maar aangezien in opgenomen macro's altijd veel meer code staat dan nodig is zou ik deze dus willen inkorten. Alleen heb ik geen idee hoe.
Daarom hoop ik dat iemand mij kan helpen om uit onderstaande macro het overtollige uit te halen zodat ik dan een goed werkende code kan toevoegen bovenaan mijn code voor het maken van de gezinsreconstructies.

dit is de opgenomen macro :

Sub Sort_tot()
'
' Sort_tot Macro
'
    Columns("A:R").Select
    ActiveWorkbook.Worksheets("TOTAAL").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("TOTAAL").Sort.SortFields.Add Key:=Range("R2:R19") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("TOTAAL").Sort
        .SetRange Range("A1:R19")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Alvast dank op voorhand.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #21 Gepost op: 08 april 2021, 13:54:32 »
Zoek de verschillen ;D
Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #22 Gepost op: 08 april 2021, 14:37:51 »
Hey Albert,

Hartelijk dank voor je bijdrage. Ik kijk zo meteen hoe ik deze in de module gezinnen kan plaatsen. :)

Wat me wél onmiddellijk is opgevallen is dat de volledige 'opmaak'-code voor de gezinsreconstructies zodanig is gewijzigd dat de opmaak totaal niet het gewenste resultaat meer geeft.
Enkel de namen van de ouders moesten 'vet' en 'onderlijnd' zijn, al wat na de "," kwam moest standaard blijven.
De tweede volledige tekst (fs. ...) moest cursief en één punt kleiner zijn in fontsize dan de rest.
de hele tekst (Uit dit huwelijk : ) moest ook onderlijnd zijn.
Bij de kinderen moest enkel de naam 'vet' zijn en voor de rest moest na de "," alles standaard blijven en hier moest totaal niets onderlijnd worden.

Nu blijkt dit dusdanig gewijzigd te zijn dat de volledige tekst (ouders én kinderen incl geboorte en overlijdensgegevens) onderlijnd zijn,
dat de volledige tekst (fs. ...) niet cursief staat en ook niet in een kleinere font-size en dat de volledige tekst (Uit dit huwelijk : ) dan weer niet onderlijnd is.

Thans had ik in mijn laatste bijgevoegde bestand die opmaak-code reeds netjes op punt gezet zodat ik wel de gewenste opmaak had.
Maar nu zie ik net dat je al die wijzigingen hebt aangebracht in de allereerste (niet meer relevante) versie en deze heb aangehangen.
De recentste versie had ik gisteren nog bijgevoegd met als datum 07-04 ipv 05-04.
Maar goed, die 'opmaak'-code die ik in de huidige versie heb staan doet het uitstekend dus maakt het niet uit wat er in die vorige versie nog allemaal gebeurd.

Ik laat nog weten hoe het afloopt met de sorteer-code.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #23 Gepost op: 08 april 2021, 14:58:32 »
Tja, ik ben inderdaad bezig geweest met een ouder bestand. :(, heb je wel wat te doen ;D ;D

En voor de sorteercode onder de knop BIJWERKEN op blad TOTAAL: dit was een rommeltje
Probeer onderstaande code maar eens.
sorteren:
i = Range("A" & Rows.Count).End(xlUp).Row
    With ActiveSheet.Sort
        .SortFields.Clear
         .SortFields.Add2 Key:=Range("R2:R" & i) _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
         .SetRange Range("A2:R" & i)
        .Apply
    End With

Groet,

Albert

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #24 Gepost op: 08 april 2021, 15:20:28 »
bestand van 7-4 aangepast.
Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #25 Gepost op: 08 april 2021, 15:55:21 »
Hey Albert,

Nogmaals dank voor jouw bijdrage, ik apprecieer de tijd en moeite die je genomen hebt.
Maar ik begrijp jouw complexe werkwijze niet zo goed.

Bij jouw werkwijze heb ik op elk IDX werkblad 1 extra kolom én een extra opdrachtknop (wat compleet overbodig is) en zijn bovendien mijn 'controle'-kolommen weg die echt wel noodzakelijk zijn én zichtbaar moeten blijven en staat er plots
bovenaan mijn Totaal-tabel ook een grote opdrachtknop (die compleet overbodig is) en aldaar dan ook nog eens die hulpkolom.

Met de omweg die ik gevonden (en uitgelegd) had is er geen enkele extra kolom in de IDX-tabellen of extra opdrachtknop nodig en is er enkel maar die hulpkolom nodig op het werkblad 'totaal' en dus ook totaal geen opdrachtknop noodzakelijk.

Ik heb 2 modules :
- module 'totaal_db' voor het verwerken van de indexeringstabellen naar de totaal-tabel (opdrachtknop in het lint 'snelle toegang')
- module gezinnen voor het maken van de gezinsreconstructies vanuit de 'totaal'-tabel (opdrachtknop op werkblad 'gezin')

De sorteer-code zelf moet gewoon achter de opdrachtknop 'gezinnen' geplaatst worden zoals aangegeven in mijn vraag.
In de module 'totaal_db' heb ik in de codeblok 'totaal_g:' enkel 2 x een kort lijntje code (1x bij bestaande rijen en 1x bij nieuwe rijen) toegevoegd, nl.:
.Cells(t, 18) = g_jaar & g_mnd & g_dag
Door dit kleine stukje code word de datum automatisch als getal weggeschreven in de hulp-kolom van de totaal-tabel op het moment dat de 'totaal'-tabel wordt bijgewerkt en zijn dus al die extra kolommen en opdrachtknoppen op de IDX-tabellen totaal overbodig.

Ook die opdrachtknop die je boven mijn totaal-tabel hebt geplaatst doet compleet overbodige dingen.
Waarom eerst die tabel volledig leegmaken om ze vervolgens opnieuw te vullen met de gekopieerde (doch deels gedeactiveerde) code van mijn totaal-db?
Het enige wat er moet gebeuren is dat die tabel, adhv de hulp-kolom, gesorteerd word én énkel maar als er gezinsreconstructies moeten gemaakt worden. Dat is dan ook de reden dat die sorteercode achter de opdrachtknop 'gezinnen' moet geplaatst worden als allereerste uitvoerbare code.
Aangezien ik momenteel nog 'maar' een 130-tal gevulde rijen heb in de 'totaal'-tabel zal ik het sorteer-proces voorlopig nog handmatig uitvoeren in afwachting dat ik de juiste sorteer-code vind om binnen vba te plaatsen.

Toch nog mijn oprechte dank voor de moeite.

groetjes,
BlackDevil

1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #26 Gepost op: 08 april 2021, 16:27:21 »
Bij jouw werkwijze heb ik op elk IDX werkblad 1 extra kolom én een extra opdrachtknop (wat compleet overbodig is) Die extra opdrachtknop kan weg, (stond er alleen maar om de datumgetal te genereren)

De controlekolom is niet meer nodig. ( blad totaal wordt eerst leeggemaakt en dan weer gevuld)
Lijkt me beter: als je in jouw controlekolom vergeet "OK" in te vullen gaat het nml. fout.

Die extra grote knop op Blad totaal doet hetzelfde als de zandloper.(vind ikzelf prettiger werken, maar ieder zijn meug.)

Je bent wel heel snel met conclusies, heb je het bestand wel goed getest .
Zoals ik al aangaf: zoek de verschillen.


Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #27 Gepost op: 08 april 2021, 17:38:52 »
Bij jouw werkwijze heb ik op elk IDX werkblad 1 extra kolom én een extra opdrachtknop (wat compleet overbodig is) Die extra opdrachtknop kan weg, (stond er alleen maar om de datumgetal te genereren)
Zoals ik reeds aangaf kan het genereren van datumgetal perfect verwerkt worden in de wegschrijfcode van de IDX_GA-tabel naar de totaal-tabel.
Je zegt dat die opdrachtknop nu weg mag, hoe vang je het genereren van datumgetal dan op voor nieuwe indexeringen?
Trouwens, waarom ook de huwelijksdatum en overlijdensdatum gaan omzetten als de sortering enkel dient te gebeuren op de geboorte-datum?
Het overzetten van jouw gegenereerde datumgetal naar totaal-database gebeurd ook enkel maar in nieuwe rijen van de totaal-tabel en nooit in reeds bestaande rijen, zal dus sowieso altijd fouten geven.

Citaat
De controlekolom is niet meer nodig. ( blad totaal wordt eerst leeggemaakt en dan weer gevuld)
Lijkt me beter: als je in jouw controlekolom vergeet "OK" in te vullen gaat het nml. fout.
Hoe kan ik nu in godsnaam 'vergeten' om OK in te vullen als dit automatisch door VBA wordt gedaan na het wegschrijven van de akte?
Een stukje code dat jij trouwens hebt gedeactiveerd in jouw oplossing.
Ten andere, alweer, er worden regelmatig nieuwe indexeringen toegevoegd, waarom VBA telkens alles opnieuw laten verwerken als het zodanig gecodeerd is dat hij enkel de akten verwerkt waar "OK" NIET vermeld staat. Nu zijn het nog 'maar' een honderdtal rijen in de totaal-tabel maar uiteindelijk zullen het er 1000x meer worden, als dit dan elke keer opnieuw moet worden leeggemaakt en opnieuw worden opgevuld dan gaat het hele proces wel héél zwaar worden denk ik.

Citaat
Die extra grote knop op Blad totaal doet hetzelfde als de zandloper.(vind ikzelf prettiger werken, maar ieder zijn meug.)
Inderdaad, iedereen zijn eigen ding. Ik heb die opdrachtknop bewust in 'snelle toegang' geplaatst omdat ik net GÉÉN lelijke knop in mijn tabel wou.
Ik ben trouwens wel degene die er moet mee werken.

Citaat
Je bent wel heel snel met conclusies, heb je het bestand wel goed getest .
Zoals ik al aangaf: zoek de verschillen.
Ja ik heb het getest en jouw sorteercode gaf onmiddellijk een foutmelding.
En de verschillen zijn héél duidelijk, het is mijn bestand niet meer...

Nogmaals mijn dank voor de moeite, ik apprecieer het zeker wel maar ik heb geen drie weken tijd en energie gestoken in het op punt zetten van de lay-out en de verwerkingscodering om vervolgens die hele werking te zien gewijzigd worden. Is trouwens ook nooit mijn vraag geweest. Ik wou gewoon het overtollige uit die opgenomen macro krijgen. De omzetting van datum naar getal had ik zelf al opgelost.

Ondertussen heb ik gewoon de opgenomen macro geïntegreerd in mijn bestaande code.
Heb hem wel uiteindelijk niet aan het begin van de code achter de opdrachtknop 'gezinnen' gezet maar wel aan het einde van de code achter de opdrachtknop 'totaal-db'. Had beide mogelijkheden geprobeerd en beide werkten prima maar als hij achter de knop 'gezinnen' stond werd ook op het blad 'gezin' de range geselecteerd. Niet dat dat echt stoorde maar was toch fijner als dat niet gebeurde.

Mijn excuses als ik met bovenstaande reactie nu als 'ondankbaar' zou overkomen, is zeker niet de bedoeling.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #28 Gepost op: 08 april 2021, 19:47:04 »

Als je nu tevreden bent is het toch goed, veel Succes. :thumbsup:
Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #29 Gepost op: 12 april 2021, 13:11:35 »
Hallokes,

Gezien de crash van de servers gisterenavond zijn alle berichten van gisteren in dit topic spijtig genoeg verloren gegaan.
Ik probeer de belangrijkste punten uit mijn berichten van gisteren even samen te vatten.

In de 'TOTAAL'-tabel worden alle geïndexeerde akten mbt geboorte, huwelijk en overlijden samengevoegd tot één rij per persoon en/of per huwelijk. Dus enkel iemand met meerdere huwelijken word meerdere keren vermeld. Voor de 'TOTAAL'-tabel is dit de bedoeling om een duidelijk overzicht te houden.
Echter, hierdoor word in de gezinsreconstructies, bij de opsomming van de kinderen, elk kind dat meerdere keren is gehuwd (dus meerdere keren voorkomt in de 'TOTAAL'-tabel) ook meerdere keren vermeld wat dus in de gezinsreconstructies niet de bedoeling is.
Ik zou dus in onderstaand codeblok (onderdeel van de 'Sub gezinnen()') een correcte code moeten toevoegen die ervoor zorgt dat elk gevonden kind maar één keer vermeld word. Ik vind echter niet hoe ik dit juist moet gaan aanpakken.

'zijn er kinderen?
        kinderen = 0
        For k = 1 To UBound(tot)
            If tot(k, 2) = naam And tot(k, 11) = voornaam And tot(k, 12) = p_naam And tot(k, 13) = p_vrnm Then
                kinderen = kinderen + 1
                If kinderen = 1 Then
                    rij = rij + 1
                    Cells(rij, kolom) = "Uit dit huwelijk :"
                    '**************************************************
                    With Cells(rij, kolom)
                        .Font.Underline = xlUnderlineStyleSingle
                    End With
                    '**************************************************
                    rij = rij + 2
                End If
                kind_naam = tot(k, 2)
                kind_voornaam = tot(k, 4)
                kind_geb_datum = tot(k, 5)
                kind_geb_plaats = tot(k, 6)
                kind_overl_datum = tot(k, 9)
                kind_overl_plaats = tot(k, 10)
                tekst = kind_naam & " " & kind_voornaam & ", °" & kind_geb_datum & " te " & kind_geb_plaats
                If kind_overl_datum <> "" Then tekst = tekst & ", †" & kind_overl_datum & " te " & kind_overl_plaats
                Cells(rij, kolom) = tekst & "."
                '*********************************************************************************************
                With Cells(rij, kolom).Characters(WorksheetFunction.Find(kind_naam & " " & kind_voornaam, Cells(rij, kolom), 1), Len(kind_naam & " " & kind_voornaam))
                    .Font.Bold = True
                End With
                '******************************************************************************************************
                rij = rij + 1
            End If
        Next k

Ik hang ook even mijn recentste versie van het bestand nog eventjes aan gezien dit ook verloren ging door de crash.

Alvast dank op voorhand.

groetjes,
BlackDevil
1) HP ProDesk (Windows 10 Pro Edu / Intel(R) Core(TM) i5-7500 CPU@ 3.40Ghz 3.41Ghz)
2) Laptop ASUS (Windows 10 Home / Intel(R) Core(TM) i3-3110M CPU@ 2.40GHz 2.40GHz)
Beide (RAM : 8,00 GB / 64-bits besturingssysteem, x64-processor)
Extern (Seagate Backup+ Hub 6TB / Seagate BUP Slim 2TB / Seagate Expansion Desk 5TB / HP ENVY 6030e)
Bullguard Premium Protection / Office Pro Plus 2016 NL

 


www.combell.com