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

Wie weet een formule voor mijn probleem

Status
Niet open voor verdere reacties.
Hoi ZappaTr

Ik ga er nu mee stoeien. Maar zou toch gaarne iets meer willen vernemen omtrent de suggestie voor opzetten in een database structuur.
In ieder bedank voor de reeds genomen moeite.
Op welke manier kan ik zonder dat ik een vraag heb gesteld of reageer op een antwoord van je op een simpele manier eventueel met je in contact komen.

Math
 
Ik herhaal: ik heb in dit topic nooit iets over een databasestructuur vermeld.
Dat moet je dus niet aan mij vragen maar aan degene die dat wel heeft gedaan.
 
Leer mij de duivenmelkers kennen.:p Nb. In jouw code worden de cellen niet geblokkeerd wat wel de vraag was in #1 en er wordt een rij toegevoegd die volgens mij niet gevraagd is?

@Mathijs CM,
Wat je wil is zeker mogelijk maar het is mij niet duidelijk. vb. Wat moet er gebeuren als ik in I2 nee kies. De inhoud van C2 en D2 naar J2 en K2 kan ik begrijpen. Maar wat gebeurt er met de data die nu ingevuld is in L2 t/m O2 als ik iets anders selecteer in I2? Zelf zou ik meer aan een database structuur denken dan het op deze manier in excel te zetten.

Beste VenA

Heeft u dan een suggestie hoe ik dit kan opzetten in een database structuur?
Groetjes Math
 
Hoewel ik werkelijk helemaal niets weet van de duivensport, heb ik de opmerking geplaatst omdat ik denk dat het om een soort van fokprogramma gaat. In de bijlage heb ik een opzetje gemaakt van wat ik bedoel met een database opzet.
In de tab "Vaste gegevens" staan gegevens om dmv gegevensvalidatie de invoer een beetje netjes te houden. In de tab "Duiven" staat een tabel met alle duiven. Deze kan je uitbreiden met alle mij onbekende relevante data.
In de tab "Database" staan de gegeven nu netjes in een tabel. Obv van de de acties maak je voor ronde2, ronde3, .... weer nieuwe regels aan. Het lijkt veel werk, maar over drie jaar ben je mij dankbaar!
 

Bijlagen

  • Mathijs CM Db Duiven (V&A).xlsx
    16 KB · Weergaven: 46
Hoi

Heb snel even gekeken naar de opzet. In principe doe ik dus hetzelfde, maar dan uitbreid met vba. Er kan namelijk van alles gebeuren tijdens de kweekperiode en ook erna. In principe worden de jonge duiven eerst aan het eind van een vliegseizoen normaal rond november toegevoegd aan het duivenbestand.
Probleem is echter het bijhouden wat er gebeurd met de eieren van een bepaald koppel, zeker als men de eieren gaat verleggen. Om er dan zeker van te zijn dat de juiste ouders bij de jonge duif staan, moet ik dus een voor bijna 100% waterdicht systeem proberen te vinden.
Ik kan in ieder geval hiermee vooruit

Bedankt
Math
 
Laatst bewerkt door een moderator:
Nogmaals hulp graag

Ik heb verder gewerkt in het bestand waarin ik begonnen was en dat is het bestand dat in bericht #12 staat.
Het resultaat zie je in de bijlage. Succes ermee!

Heb er veel mee gewerkt, mooi stukje werk, bedankt.
Helaas zou ik indien mogelijk nog een beetje veranderd willen zien, waarschijnlijk kleinigheid maar of het mogelijk is weet ik natuurlijk niet.
In de bijlage staat precies omschreven wat en welke wijzigingen.

Math
 
Mathijs,
ik neem aan dat je aanpassingen bedoelt op het blad "Ronde1" waar je een andere validatie wil dan op de andere bladen is gemaakt. Maar dat werkt op precies dezelfde manier als wat ik in de andere bladen heb gedaan, dus die code kun je vrijwel helemaal kopiëren, je moet alleen de namen van de validatielijst aanpassen. Zelfs zonder kennis van vba moet dat lukken. Maar je moet dan wel juist kopiëren, want bij "Ronde1" zie ik al een "Worksheet_SelectionChange" staan, terwijl ik overal "Worksheet_Change" heb gebruikt.
 
Goede morgen zappatr,

Nee dat bedoel ik niet helemaal. hetgeen je nu aangeeft is mij niet opgevallen, zal er naar kijken en waar het niet goed staat aanpassen. Wat is dan het verschil tussen "Worksheet_Change" en "Worksheet_SelectionChange"?

Nee hetgeen ik bedoel is kan de tekst (of aangepaste tekst) hetgeen nu in messagebox verschijnt bv Nieuwe Ronde komen in bereik J:O waarbij erna dus blokkade blijft bestaan. Hier mogen en komen erna in dit bereik toch geen gegevens meer, want er komen bij deze case op die rij nooit jonge duiven te staan.
Hetzelfde bij Naar Ander Koppel, tekst zou mogen zijn "Denk aan ouders en aan Nieuwe Ronde". Dan weet ik meer dan voldoende.

Math
 
Laatst bewerkt door een moderator:
Kan nu niet uitvoerig op je bericht ingaan, ben op mijn werk.
Verschil tussen "Change" en "Selection.Change", de woorden zeggen het zelf: in het ene geval gebeurt er wat als je een cel wijzigt, in het andere geval als je ze selecteert; zie de helpfile van Excel.
Dat je niet is opgevallen dat je "Selection.Change" hebt gebruikt, toont aan dat je in dat blad niet of nauwelijks hebt gewerkt anders zou je daar enorm last van hebben gehad.
Een tekst in plaats van in een messagebox in een cel plaatsen: de tekst bij de messagebox wissen en in de J-kolom in de gewenste rij door vba je tekst laten plaatsen: Range("J" & sr).value = "jouw tekst". Als die tekst niet in de j-cel past, loopt die automatisch door in de K:O-cellen. Dit kun je ook vinden in de macro die ik in het bestand heb geplaatst.
Als je begint met vba hoef je niet alles te weten, maar je moet dan met zeer eenvoudige dingen beginnen en met 1 probleempje tegelijk. Niet met een heleboel zaken tegelijk zoals je nu doet, want dan blijf je tegen problemen aanhikken die dan tot de nodige ergernis bij je zullen leiden.
 
Ga dat dus allemaal uitproberen.

Hoi,
Dit ga ik allemaal uitproberen. Wil begrijpen wat ik doe. Het is maar goed dat je mijn macro printen niet hebt gebruikt, want had zodanig geschreven dat er eerst op antwoord moest worden gereageerd met Yes of NO, alvorens wat mijn bedoeling was te laten printen. Gevolg ook al gaf ik als antwoord Nee macro ging gewoon door.
Fout was dan in vergten was achter Then te vermelden exit sub, maar dat vergeet ik dus nooit meer.

Math
 
Laatst bewerkt door een moderator:
Math, je bent nu consequent complete berichten aan het 'citeren'; niet alleen maakt dat de tekst volslagen onleesbaar, het is ook nergens voor nodig, want de berichten waar je op reageert staan er voor iedereen compleet helder en leesbaar boven. Dus graag de quoots verwijderen. En denk eens na over de functie van een quoot....
 
Goede middag,

Aangezien ik niet wist hoe te handelen om er zeker van te zijn dat op op de juiste persoon terug zou reageren, is mij dit aangeraden nadat ik die vraag heb gesteld aan een van de personen van help.mij.
Zou niet weten hoe ik dat anders zou moeten doen. Betrokkene geeft mij hulp met een antwoord en dan vind ik het niet meer als beleefd om hem te bedanken en aan hem eventueel vragen te stellen nadat ik zijn bericht heb gelezen en een en ander heb uitgebrobeerd.

Math
 
Dat is allemaal prima, maar als het bericht er pal boven staat? Dan is het volkomen overbodig, en het maakt draadjes onleesbaar. Als je op iemand in het bijzonder wilt reageren, zet de naam er dan voor:
@Mathijs: Je hebt gelijk, zo zou ik het ook niet doen.
Bijvoorbeeld. Maar niet meer gedachtenloos (want dat is het vind ik) op de quoot knop knallen. Bovendien: een helper verwacht niet anders dan dat je reageert op zijn/haar bericht. Quooten heeft pas zin als je een deel van een veel ouder bericht nodig hebt. Dit is bijvoorbeeld een nuttige quoot:
Hallo VenA en zapatr,
Bedankt voor reactie, ga inderdaad aan de slag met de macro/vba van VenA
 
Voor ZappaTr,

Goede morgen,

Hoop dat alles goed is met en dat bij jullie ook het zonnetje schijnt zoals bij ons. Ik ben aan het stoeien en heb inderdaad zelf de tekst kunnen laten verschijnen op de rij tussen de kolommen J:p in plaats van de msgbox. Vermoedelijk is het niet mogelijk om deze tekst te centreren of wel?
Verder is mij opgevallen dat indien bij een case waarbij de kolommen J:p geblokkeerd moeten worden bij een eventuele invulling de blokkering maar werkt zolang er verder nog niets gebeurd. Ga ik echter naar een ander rij in bestand en geef aan welke actie er eventueel moet worden gevolgd, blijkt dat de blokkering van de vorige case is opgeheven, terwijl dit toch echt niet de bedoeling is, deze kolommen moeten geblokkeerd blijven.
Ik weet niet of dit mogelijk is? Vandaar dit bericht.

Math
 
1.
Je wil in het betreffende J:O-bereik de tekst centreren. Daarvoor kun je dan best de cellen in dat bereik samenvoegen. De code voor samenvoegen en tekst centreren had je je heel eenvoudig door Excel kunnen laten vertellen door de macrorecorder aan te zetten en die handelingen handmatig uit te voeren. Wat geeft de recorder als resultaat als ik bv. handmatig J4:O4 samenvoeg en de tekst centreer? Dit:
Code:
.MergeCells = True
.HorizontalAlignment = xlCenter
Je hoeft vanzelfsprekend alleen de zaken over te nemen die je hebt gewijzigd, dat zijn: samenvoegen en tekst centreren. Voilà, dat is alles, want de tekst had je al geplaatst schreef je.

2.
Waarom werkt de blokkade niet naar wens?
Omdat de cellen die moeten worden geblokkeerd nog vrij moeten zijn nadat je de i-cel hebt ingevuld. Er zit dan niets anders op dan na elke handeling in de i-kolom (ongeacht welke) de hele kolom te doorlopen en in de gewenste rijen het bereik J:O te blokkeren. Daarvoor moet je het volgende doen:
- Verwijder onder Case "Ja NAK" en Case "Nieuwe Ronde" de tekst: .Locked = True
- Als er onder "Case Ja NAK" (onder "End With") nog ".Protect" staat, verwijder dat dan.
- Voeg bovenaan in de macro toe: Dim x as integer
- Voeg toe tussen End Select en .Protect:
Code:
For x = 2 To 33
If WorksheetFunction.Or(.Range("I" & x).Value = "Ja NAK", .Range("I" & x).Value = "Nieuwe Ronde") Then
Range("j" & x & ":o" & x).Locked = True
End If
Next x
- Er mag slechts 1 keer .Protect in de macro staan en dat is onderaan, juist boven "End With".
Nu zou de macro naar wens moeten werken.
Succes ermee.
 
Centreren van de tekst lukt me nog niet! Voor ZapaTr

Goede middag ZapaTr

Het definitie blokkeren van hetgeen ik eerder gevraagd had is me gelukt, duidelijke uitleg dus simpel.

Het centreren lukt mij dus helaas nog niet.

Code:
Case "Ja NAK"
With .Range("j" & sr & ":o" & sr)
.Interior.ColorIndex = 22
Range("J" & sr).Value = " Vul deze ouders in bij koppel naar; nu Nieuwe Ronde! "
.Interior.ColorIndex = 22
End With

Waar moet(en) de code(s) komen:
.MergeCells = True
.HorizontalAlignment = xlCenter
Indien dit me lukt gaat de vraag naar opgelost.

Math
 
Laatst bewerkt door een moderator:
Maak er dit van:
Code:
Case "Ja NAK"
With .Range("j" & sr & ":o" & sr)
.ClearContents
.MergeCells = True
.Value = "Vul deze ouders in bij ""Koppel naar""; nu Nieuwe Ronde!"
.HorizontalAlignment = xlCenter
.Interior.ColorIndex = 22
End With

Opmerkingen:
- .Clearcontents is hier toegevoegd om te voorkomen dat er een waarschuwingstekst verschijnt. Het kan zinvol zijn om die ook bij de andere Case's toe te voegen, niet zozeer om te voorkomen dat er een waarschuwing verschijnt, maar als je eerst (al of niet per ongeluk) een verkeerde keuze hebt gemaakt (een keuze met tekst) en je wil die alsnog wijzigen in een keuze waarbij er geen tekst mag verschijnen, dan zou de tekst van de verkeerde keuze kunnen blijven staan.
- Als de mogelijkheid moet blijven bestaan om voor de cellen die werden samengevoegd later een andere keuze te maken, dan moet samenvoeging van cellen ongedaan kunnen worden gemaakt. In dat geval moet je niet bij Case "Ja NAK" en niet bij Case "Nieuwe Ronde", maar wel bij de andere Case's als eerste dit opnemen:
Code:
.MergeCells = False
 
Wat wordt volgend probleem?

Hoi iedereen, maar speciale dank vooral aan ZapaTr die mij met zijn deskundig advies ontzettend goed geholpen heeft.
Mijn bestandje werkt nu zoals ik het nooit had verwacht, gewoon geweldig.
Ja ZapaTr ook het centreren werkt perfect.

Nogmaals iedereen van harte bedankt.

Math

NOOT: Ja vraag gaat naar opgelost!
 
@Mathijs CM Geprobeerd om dit topic enigzins op te schonen door de overbodige quotes te verwijderen. Zoals gezegd het is niet nodig om te quoten wanneer je direct na een reactie reageert.
 
Is ook geen verwijt!

Hoi Huub,

Het is ook geen verwijt, maar als je ergens niet zeker van bent dan ga je vragen en wat proberen. Maar als ik het goed begrijp dat iedereen lezen wat ik vraag en wat voor antwoord ik geef als ik reageer op een vraag of antwoord!
Misschien een suggestie om iets te bedenken zodat men kan zien op welk respons men een antwoord geeft.
Heb inmiddels begrepen dat ook al zijn er 3 antwoorden gegeven er slechts 1 antwoord wordt doorgegeven en de andere 2 antwoorden komen in de wachtrij, ga ik inloggen bij helpmij, lezen antwoord en eventueel hierop een antwoord geven, dan ontvang ik wederom een mail dat er iemand op mijn vraag of antwoord heeft gereageerd.

Ben zeer tevreden over de site dus daar gaat het niet om, ben niet voor niets een betalend lid geworden.

Groetjes
Math
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan