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

Sudoku NRC

Status
Niet open voor verdere reacties.
hier is versie 2
in puzzel 13 moet hij dieper nadenken.
puzzel 15 lukt nog niet. (volgende versie)
als hij makkelijk gevonden wordt dan zijn alle zetten gevonden door:
a) te kijken in een lijn of blok of er nog maar 1 waarde mogelijk is. of
b) te kijken of in een punt nog maar 1 waarde mogelijk is.

puzzel 13 wordt met a en b niet helemaal op gelost. daarvoor gebruikt hij een redenering om bepaalde waarden uit het bord te wissen.

ps graag commentaar bvb als hij waarden invult die niet kloppen.
 

Bijlagen

  • sudoku_versie 2.xlsm
    62,3 KB · Weergaven: 11
Laatst bewerkt:
hier de zelfde versie maar dan met de optie zet voor zet.

ps weet iemand hoe je de msgbox op een andere plek kan laten verschijnen? hij zit steeds in de weg
 

Bijlagen

  • sudoku_versie 2_1.xlsm
    68 KB · Weergaven: 23
Laatst bewerkt:
je voegt een userform in modeless toe met daarin een textbox en een commandbutton
die kan je daarna positioneren met left en top
lukt dat of moet ik helpen ?
 
hallo, cow
moet ik daar uit opmaken dat een msgbox nergens een left en een top heeft? ok niet ergens verstopt?

ps heb je nog onjuiste zetten gevonden ?
 
cow, je schrijft:
lukt dat of moet ik helpen ?
heel aardig :thumb:
ik ben niet zo snel als jullie.
ik doe het op mijn gemak, als ik samenwerk, laat ik me opjagen.
als je verbeteringen aanbrengt , prima , ik leer graag wat bij. dat van die textbox is een goed idee. ik dacht aan een userform.
maar ja, een msgbox zit al standaard in excel.
misschien bestaat er een variant van die al klaar is en ook direct te positioneren is.
 
Laatst bewerkt:
Hallo Sylvester, ik heb slechts een paar wijzigingen gedaan, zodat je een idee krijgt.
* toevoegen van Userform1
* toevoegen van 2 public variabelen in je hoofdmodule, die als het ware de handshake tussen de userform en jouw programma zijn.
* toevoegen van 3 regels in je classmodule Sudoku_punt macro Eind_Waarde (dat was voor het gebruik van die userform op 1 plaats, dat principe kan je op de andere plaatsen dat je dat ook wil toepassen ook zo aanpassen).
De positie van de userform wordt bepaald binnen de "initialize" en wordt niet met punten geregeld zoals je normaal doet met een shape, maar met de afmetingen van de window.
De layout van de Userform kan je naar believen aanpassen.
 

Bijlagen

  • sudoku_versie 2_1 (3).xlsm
    79,5 KB · Weergaven: 14
Sylvester, je kan natuurlijk ook 3 shapes gebruiken (een textbox en 2 commandbuttons) die je gewoon op het werkblad zet, en die je gemakkelijk zichtbaar/onzichtbaar kan maken.
Alleen had ik geen idee hoe ik je macro even in de wacht moest zetten totdat er een antwoord kwam.
Moest ik daar een oneindige loop maken of moest ik naar een andere macro springen en dan gepast terugkeren ???
Nu zweeft die userform boven het scherm en afhankelijk van de grootte van de window (verklein anders eens je window en probeer het nog eens) zal hij goed of minder goed gepositioneerd staan en zou er in de initialize een beetje gerekend moeten worden. Misschien plak je hem best helemaal rechts van het window, zodat er minst kans is op overlap.
Code:
     Me.Left = Application.Left + Application.UsableWidth - Me.Width     'tegen de rechterkant plakken
Je zou er anders ook nog bv. 100 bij kunnen tellen, maar dan schuift er misschien een stuk van het scherm af.


of
http://www.cpearson.com/excel/formposition.htm
https://www.excely.com/excel-vba/define-a-position-of-messagebox.shtml
 
Laatst bewerkt:
is dit anders ook iets ?
Code:
Sub test()

     tekst = "lijn 1 : abcdefghijklmnopqrstuvwyz " & vbLf & "lijn 2 : dddddddddddddd " & vbLf & "lijn 3 : ddddddddddd" & vbLf & vbLf

     Do
          b = True
          Antwoord = InputBox(tekst & "- 1 = 1 zet, enter is ook voldoende" & vbLf & "- A = alle zetten" & vbLf & "- S = Stoppen ", "Keuze", "1", 15000, 5000)
          Select Case Trim(UCase(Antwoord))
               Case "S": Exit Sub     'macro afbreken
               Case "1": b = False     '1 zet doen
               Case "A": [B14] = False: b = False     'alle zetten is B14 op false zetten
               Case Else: MsgBox "foute keuze"
          End Select
     Loop While b
End Sub
 
hallo cow, leuk dat je mee denkt en doet.
voor de plaatsing van de userform zou ik :
Code:
[B]  UserForm1.Top = [AP2].Top + Application.Top + Application.Height - Application.UsableHeight
  UserForm1.Left = [AP2].Left + Application.Left + Application.Width - Application.UsableWidth
[/B]
gebruiken.
dan komt hij altijd met de linkse top op het zelfde punt te staan tov het spel.
 
Laatst bewerkt:
nog iets om te weten (en te vergeten tegen de volgende keer) :thumb:
 
puzzel 15 lukt nog niet. (volgende versie)

Bij mij ook nog niet, heb ondertussen ook 2 oplossingen van deze zelfde sudoku
Behoorlijk mee bezig geweest, maar zonder een "gokje" en weer terug gaat dat dus niet lukken.
(Had een hoop dat bij een x-aantal gegeven getallen een hyper-sudoku 9*9 altijd oplosbaar zou zijn)
Qua oplossingsstrategieën zat behoudens Hidden trips/quads xy wings het meeste er al wel in

mn code is ondertussen spaghetti en circa 300 regels, deadline vandaag....ik haak af...:confused:
Bijgevoegd bestandje (zonder code) met 2 oplossingen van nr 15
 

Bijlagen

  • 2oplossingen.xlsb
    10,8 KB · Weergaven: 11
Eric, jammer dat je afhaakt. heb je ook een moeilijke puzzel die maar 1 oplossing heeft beschikbaar?
 
Bijgaand mijn aanpak:

Daarmaa kan ik alle Sudokus in het werkblad oplossen.
De Sudoku die E v R aandroeg lost deze code alleen op met de toevoeging van begingetal 6 in vak F3.

Met aanvullende procedures lukt het me wel EvRs Sudoku zonder F3 toevoeging in de richting van een oplossing te krijgen, maar volledig oplossen is mij niet gelukt.
De extra hoeveelheid Code die daarvoor nodig blijkt staat ook niet in verhouding tot het tot nog toe behaalde resultaat (reduktie van mogelijkheden).

In de macromodule van het werkboek heb ik uitvoerig toegelicht uit welke elementen de code bestaat.
Zoals te verwachten maakt de code vooral gebruik van recursie.
De code beperkt de interaktie met het werkblad tot het lezen van de begingetallen (A1:I9) en het schrijven van de oplossing in A12:I20.
 

Bijlagen

  • sudoku_NRC_snb_001.xlsb
    66,3 KB · Weergaven: 17
ik krijg van de aangereikte voorbeelden (ook die harde van EVR) er 4 niet opgelost, voorlopig strand ik op ongeveer 130 regels.
Even zonder naar VBA te kijken hoe moet het verder met deze sudoku ?
Welke cel is de volgende zet ?
 

Bijlagen

  • Mijn Probleem Sudoku.xlsx
    16,6 KB · Weergaven: 9
alvast eentje:
kolom 5 rij 8 en 9 staat 1458, enkel in de groep (rij 7 tm9 kolom4 tm 6) kan er dus een 8 staan. dit betekent dat je deze uit kolom 5 rij 2 en 5 kunt halen

zelfde logica op kolom 7 en groep rechtsboven, getal 3 dus kan de 3 niet op rij 5 kolom 7 staan
 
Laatst bewerkt:
@sylv

Met welke Excelversie werk je ?
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan