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 5337 keer)

0 leden en 1 gast bekijken dit topic.

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #30 Gepost op: 12 april 2021, 19:16:16 »
Probeer dit eens aan het eind van code "gezinnen"
Kan wel zijn dat je weer tegen andere problemen aanloopt.( lege rijen worden volgens mij als dubbels gezien)
Sub VerwijderDubbels()
    rij = Range("B" & Rows.Count).End(xlUp).Row
    Range("$B$1:$B$" & rij).RemoveDuplicates Columns:=1, Header:=xlNo
End Sub

update: lege rijen worden inderdaad als dubbels gezien
             en de tekst: uit dit huwelijk: dus ook.

Misschien kun je repeterend aan de tekst "uit dit huwelijk" een cijfer toevoegen. uit dit huwelijk(1), uit dit huwelijk(2) etc.

Lege rijen zijn ook op een of andere manier te nummeren oplopend bijv.1,2,3...... en dan de tekstkleur op White zetten.
Gewoon maar eens proberen.
Groet,

Albert

Offline BlackDevil

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

Hartelijk dank voor je reactie.
De reden waarom ik een stukje code zoek om binnen de zoek-/wegschrijfcode voor de kinderen te implementeren is net omdat er buiten de opsommingsregels van de kinderen té veel dubbele rijen zullen voorkomen zoals sowieso :
- de regels "fs. " en "fa. " (indien de ouders ongekend zijn)
- de regel "gehuwd met" (indien de huwelijksdatum niet gekend is)
- de regel "uit dit huwelijk :" (zoals je zelf reeds aangaf)
- elke lege regel (zoals je ook zelf reeds aangaf)
- maar ook de regel van gezinshoofden die meerdere malen gehuwd zijn zullen meerdere keren voorkomen, telkens met een ander gezin.

Dus duplicaten verwijderen nàdat alles wordt weggeschreven is niet echt een optie, lijkt me ook zeer omslachtig om bijna elke regel die dubbel kan voorkomen te gaan beginnen nummeren. In mijn "echt" bestand heb ik nu al ruim 500 rijen aan gezinsreconstructies voor nog maar een 170-tal rijen in de 'TOTAAL'-tabel. Dit aantal gaat alleen maar blijven groeien.

Ik zoek dus een stukje code dat voorkomt dat de dubbele resultaten meer dan 1x weggeschreven worden in de opsommingsregels van de kinderen. Dus dit moet echt binnen de zoek-/wegschrijfcode van de kinderen ingesloten worden.

Wat ik misschien wel zou kunnen doen, bedenk ik net, is in de 'TOTAAL'-tabel naar dubbels laten zoeken, op basis van alle gegevens, met uitzondering van de huwelijksgegevens, en dan in een extra kolom, voor elke gevonden extra vermelding, een bepaalde waarde laten zetten en dan in de zoek-/wegschrijfcode van de kinderen een voorwaarde verwerken dat enkel de kinderen vermeld mogen worden waarbij in die bepaalde kolom geen waarde staat.

Ik ga het eens uitproberen en laat nog iets weten.
Alvast nog eens bedankt voor het meedenken.

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 #32 Gepost op: 12 april 2021, 20:33:21 »
Dat wordt heel wat zoekwerk, 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 #33 Gepost op: 12 april 2021, 22:36:47 »
*update*

Het is me gelukt en met bijzonder weinig extra code  ;D.
Heb bij de 'totaal_db' code enkel bij de huwelijken voor de rijen die gekopieerd moeten worden bij een extra huwelijk volgende toegevoegd :
.Cells(nw_t, 19) = "dubbel"
En vervolgens bij de 'gezinnen' code bij de kinderen in de eerste If-statement volgende toegevoegd :
And tot(k, 19) = ""
En voila, hij geeft de kinderen die meerdere keren gehuwd zijn maar één keer weer in de gezinsreconstructies.

Alweer een 'hindernisje' opgelost  :thumbsup:

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 SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #34 Gepost op: 12 april 2021, 23:06:19 »
 \o/ \o/ \o/
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline BlackDevil

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

Hier ben ik nog eens  ;D.
Nu dat alle, tot hiertoe opgetreden, 'echte' (lees : belangrijke) foutjes zijn weggewerkt heb ik mij vandaag vooral bezig gehouden met de definitieve tekst-opmaak voor de gezinsreconstructies (kleuren, rijhoogte, enz...).
Dat is op zich allemaal wel goed gelukt maar heb nog een héél klein 'weergave'-foutje desondanks ik dit toch in mijn code verwerkt heb.
Het is niet echt een groot probleem, eerder een 'schoonheids'-foutje dat ik toch wil proberen weg te werken.

Bij de gezinsreconstructies heb ik bij het gezins-koppel telkens "fs. " en/of "fa. " gevolgd door de ouders.

In de code heb ik dit als volgt staan :
tekst = "fs. " & ouders   '(fa. voor de vrouw)
'ouders' is een variabele die ik als volgt heb gedeclareerd :
vader = tot(t, 11)
moeder = tot(t, 12) & " " & tot(t, 13)
ouders = vader & " & " & moeder & "."
If moeder = "" And vader <> "" Then ouders = vader & "."
If vader = "" And moeder <> "" Then ouders = moeder & "."
If vader = "" And moeder = "" Then ouders = ""
If vader = "onwettig" Then ouders = tot(t, 13) & "."

In het werkblad staat er dan (als beide ouders gekend zijn)
fs. vader & moeder
De bovenstaande declaratie is de bedoeling dat als maar één van beide ouders gekend is of geen van beide ouders gekend is dat dan het teken '&' dat tussen vader en moeder staat niet weergegeven mag worden.
Echter, als enkel de vader gekend is komt er alsnog
fs. vader &
te staan.

Ik ben al de hele namiddag mij blind aan het staren om uit te zoeken waar het probleem zou kunnen liggen maar ik zie het gewoon niet, heb al allerlei uitgeprobeerd maar ik krijg die '&'  maar niet weg als er maar één of geen ouders bekend is.

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 SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #36 Gepost op: 13 april 2021, 15:19:02 »
Hallo BlackDevil,

kan je je laatste code nog even tonen met een voorbeeldbestandje?

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #37 Gepost op: 13 april 2021, 15:23:14 »
Gokje zonder voorbeeldbestand
wijzig dit
If moeder = "" And vader <> "" Then ouders = vader & "."
If vader = "" And moeder <> "" Then ouders = moeder & "."
eens in
If moeder = "" And vader <> "" Then ouders = vader
If vader = "" And moeder <> "" Then ouders = moeder
Groet,

Albert

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.128
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #38 Gepost op: 13 april 2021, 15:35:58 »
Albert,

met jou suggestie haal je enkel het "punt" weg na "vader" of "moeder"
Maar ik kijk ook uit naar een voorbeeldbestandje waar alle code in staat.

In deze (nieuwe) code van BlackDevil staat niets fout, volgens mij  :-\

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #39 Gepost op: 13 april 2021, 16:39:38 »
Klopt als een zwerende vinger, dan maar wachten op een voorbeeld bestand.
Groet,

Albert

Offline BlackDevil

  • Ambassadeur
  • *****
  • Berichten: 1.029
  • Geslacht: Vrouw
  • veni vidi vici
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #40 Gepost op: 13 april 2021, 16:41:18 »
Hey SoftAid en Albert,

Bij deze de recentste versie van mijn bestand.


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 #41 Gepost op: 13 april 2021, 17:45:12 »
Moeder is niet "leeg" maar een spatie (" "). Ofwel, het is logisch dat je de naam van de vader krijgt mét daar achter een ampersant én een spatie omdat je volgende uitvraging is of moeder "" is...;)
______________________________

Groet, Leo

Offline AD1957

  • Ervaren lid
  • ***
  • Berichten: 250
  • Oplossing.be
Re: VBA opmaak bepalen van weg te schrijven (tekst)-waarden
« Reactie #42 Gepost op: 13 april 2021, 17:47:17 »
Goed gezien Leo :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 #43 Gepost op: 13 april 2021, 20:16:32 »
Hey RedHead,

Hartelijk dank voor je hulp  _/-\o_ ik zou het vermoedelijk nooit of pas na zéér lange tijd pas gevonden hebben gezien ik nog een beginner ben wat vba betreft en dus nog volop aan het leren ben.

Heb het aangepast en nu word de '&' niet meer vermeld.  :thumbsup: :thumbsup:

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 #44 Gepost op: 13 april 2021, 21:37:11 »
AD1957, dank.  ;)

BlackDevil, als "ontwikkelaar" is het 1 van de belangrijkste zaken om te doen. Het debuggen. Doorloop je code stap voor stap en controleer welke waardes je variabelen aannemen. In een geval als dit weet je zelfs redelijk zeker wáár je moet zoeken. Dan plaats je een stoppunt in je code en check je in elke rondgang van de lus, wat de code ervan heeft gemaakt. Dus ik hoop je hiermee wat nieuws geleerd te hebben. :D

Succes met je voortgang.
______________________________

Groet, Leo

 


www.combell.com