Hallo allemaal,
Eerst en vooral : voor iedereen (deelnemers, volgers en toevallige passanten in dit draadje) een voorspoedig en gezond 2020 gewenst. Hopelijk is iedereen, net als ik, met het juiste been uit 2019 gestapt.
Verder had ik eerder een probleempje met de screenupdating en vraag het programma eventjes een seconde te wachten anders volgende het scherm niet netjes.
Gek, zoiets had ik nog niet eerder meegemaakt. Moet dat misschien eens dieper uitspitten.
Ik kom dat zelden tegen (staat in meer dan 99% van mijn macro's uit), maar heb het dus ook wel eens gezien. Ik denk dat dit een interne Excel-kwestie is. Mogelijk heeft MS geoordeeld dat screenupdating niet het belangrijkste is en wordt dat in de nieuwere versies geregeld tegengehouden. In elk geval had je dat in Excel 2007 nog niet.
de verklaring is weer simpel: hij vindt ze niet omdat hij ze niet zoekt
mja, toch niet de oorzaak.
Toch wel hoor, SoftAid, ik mag er mijn hand voor in het vuur steken dat ik mijn macro van binnen en van buiten ken ('k heb hem namelijk zelf geschreven...). Als jouw of Bart's macro tot andere aantallen leiden, dan moet het wel zijn omdat ze iets meer of iets minder doen. Die van mij zocht en vond alle singles die aan ons eerste criterium voldeden, namelijk als in een 3x3 één waarde stond. Vermoedelijk heb ik hier en daar wat bijlagen gemist waardoor ik niet ten volle over jullie stand van zaken kan oordelen.
'Vond', 'stond', enz., je voelt hem al komen: ik heb een nieuwe versie.
Heb ook wat (beschouw het maar als een versie in de eerste plaats voor mezelf) aan de opmaak geprutst. Het blad met 4 voorbeelden (4 moeilijkheidsgraden) is toegevoegd, en er wordt rechtstreeks daaruit een kopie gemaakt (beetje handiger om te testen). De storende randjes rond de kleine hulpcellen zijn ook weggewerkt, de knoppen zijn uitgelijnd, enz, allemaal prullaria dus, maar althans voor mij plezanter om misschien nog verder te puzzelen.
Over naar de wezenlijke veranderingen: in de laatste versie van Bart wordt op zeker ogenblik methode 1 definitief verlaten (zelf had ik nog maar 1 methode en daar dus geen last van). Redeneren jullie even mee? Van zodra een single gevonden is wordt deze definitief vastgezet op het bord. Je zou kunnen stellen dat er op dat ogenblik een
nieuwe opgave ontstaat, wat als gevolg heeft dat er ook een nieuwe set aan hulpcellen ontstaat, en dát moet dan weer als gevolg hebben dat opnieuw
alle methodes dienen doorlopen worden.
Vanuit die visie heb ik nu mijn extra zoekmethodes binnen dezelfde lus gezet, en dat zal zo moeten blijven indien we nog méér zoekmethodes willen toevoegen!
Het resultaat is dat hiermee zowel de 'gemakkelijke' als de 'moeilijke' sudoku volledig worden opgelost. Advanced en expert blijft een ander paar mouwen. Wat tot de vraag leidt of we hier nu gelukkig moeten van worden. Want met de zoekmethodes die we tot nu hanteren krijgen we veel (héél veel) hulp bij (redelijk) gemakkelijke sudoku's en geen of weinig hulp bij lastige(re)...
In de statusbar onderin kan je nu ook zien waarmee de macro op dat moment bezig is.
Veelal het wissen van de hulpcellen, dat is nogal arbeidsintensief en eigenlijk niet productief
We waren inderdaad nogal simpel begonnen. Eigenlijk hebben we niet één maar twee 'hulpcelwismacro's' nodig. Een eerste aan het begin van het zoekalgoritme (dus eenmalig), en een tweede die enkel wist waar nodig bij elke gevonden single. Er komen namelijk nooit hulpcellen bij, en dus kunnen we ons beperken tot wissen in die range die past bij die single. In de praktijk is het geen nieuwe macro geworden, maar is het toegevoegd aan een nieuwe subroutine die elke gevonden single verwerkt. Een blik op de code zal het waarschijnlijk duidelijker maken, en het uitvoeren van de zoekmacro hopelijk ook.
Benieuwd naar suggesties over volgende stappen...
Groeten,
pitufo