Help!

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

Hulp bij posten

Recente topics

Auteur Topic: Check gelijke knoppen op een Userform  (gelezen 6523 keer)

0 leden en 1 gast bekijken dit topic.

Offline LucB

  • Lid
  • *
  • Berichten: 55
  • Groeten Luc
Check gelijke knoppen op een Userform
« Gepost op: 12 april 2007, 13:01:58 »
Graag uw hulp bij het volgende.

Option Explicit
Public WithEvents CBN As MSForms.CommandButton
Public ltrVal  As String
Private Sub CBN_Click()
    ltrVal = CBN.Caption
    MsgBox "Dit is de letter " & ltrVal

End Sub

'In een UserForm staan 2x26 knoppen.
'Deze knoppen krijgen (At Random) als Caption
'2x het alfabet(hoofdletters,Webdings)

'Vraag:
'If de caption van de eerst geklikte knop gelijk is de
'caption van de tweede geklikte knop ,Then:
'van beide knoppen de Caption = ""
'en Enabled = False
'Else: Niets doen

'Doel:
'de 2x26 letters zo snel als mogelijk paarsgewijs weg te klikken.
'ter bevordering van de oog-hand-coordinatie en muisvaardigheid.
Windows XP Prof SP2, AMD DualCore 4400, 1024 MB RAM, NTFS, Norton AntiVirus, Internet Explorer 7.0, Outlook Express 6

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Check gelijke knoppen op een Userform
« Reactie #1 Gepost op: 12 april 2007, 15:31:04 »
LucB, als ik je goed begrijp ben je een soort memory-spel op de pc aan 't ontwikkelen?  ???
Dus de speler kan niet zien aan de knop welke letter daar op staat? Of zie je de letters wel op de knoppen staan (dus bijvoorbeeld de A in rij 1 op knop 10 en in rij 2 op knop 26)? En is alleen de 'kliksnelheid' van belang?
Dus waar gaat het nou eigenlijk mis met je code?
(lijkt me wel een leuk projectje!)

Heb je wellicht je bestandje met het form en de knoppen als bijlage?

Groet, Leo
______________________________

Groet, Leo

Offline LucB

  • Lid
  • *
  • Berichten: 55
  • Groeten Luc
Re: Check gelijke knoppen op een Userform
« Reactie #2 Gepost op: 13 april 2007, 12:08:09 »
Dag Leo,

Alvast bedankt voor je aandacht.
Heb het bestand toegevoegd.

Mijn vraag staat op het UF.
Hopelijk heb je een oplossing,
maar geniet eerst van het mooie weer.

Luc
Windows XP Prof SP2, AMD DualCore 4400, 1024 MB RAM, NTFS, Norton AntiVirus, Internet Explorer 7.0, Outlook Express 6

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Check gelijke knoppen op een Userform
« Reactie #3 Gepost op: 13 april 2007, 23:16:19 »
Luc, 't is een fraai bouwwerkje! Ik ben er mee aan't puzzelen geweest, maar 't lukt me slechts om 1 button te enablen/legen. Ik ga nog wel ff door met dingen proberen, maar ik denk toch echt dat we hier de hulp van Erik van Geit bij nodig hebben... ;)

Als ik iets heb, zal ik het je tonen...

Groet, Leo
______________________________

Groet, Leo

Offline LucB

  • Lid
  • *
  • Berichten: 55
  • Groeten Luc
Re: Check gelijke knoppen op een Userform
« Reactie #4 Gepost op: 13 april 2007, 23:36:16 »
Leo,

Hier ben ik mee aan het stoeien.

Option Explicit
Public WithEvents CBN As MSForms.CommandButton
Public mem     As MSForms.CommandButton

Private Sub CBN_Click()
    Dim ctrl   As MSForms.CommandButton
    Set ctrl = CBN
    With ctrl
        If Not mem Is Nothing Then
            If mem.Caption = .Caption Then
                mem.Caption = ""
                .Caption = ""
                mem.Enabled = False
                .Enabled = False
            End If
            Set mem = Nothing
        Else
            Set mem = ctrl
        End If
    End With
End Sub

Dit werkt helaas niet naar behoren.

Erik, help ons nog eenmaal uit de droom.

Groet,
Luc
Windows XP Prof SP2, AMD DualCore 4400, 1024 MB RAM, NTFS, Norton AntiVirus, Internet Explorer 7.0, Outlook Express 6

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Check gelijke knoppen op een Userform
« Reactie #5 Gepost op: 14 april 2007, 10:05:32 »
Hi,

'k Heb je bestand nog niet gezien, maar "public" variabelen horen thuis in een normale module. Misschien is dat al genoeg om de zaak op te lossen.

beste groeten,
Erik

EDIT: O, ja ik bedoel dus volgende regel naar een gewone module over te plaatsen.
Public mem     As MSForms.CommandButton

Offline LucB

  • Lid
  • *
  • Berichten: 55
  • Groeten Luc
Re: Check gelijke knoppen op een Userform
« Reactie #6 Gepost op: 14 april 2007, 11:14:11 »
Dag Erik,

Heb je advies opgevolgt en alles draait als een zonnetje.

Hartelijk dank daarvoor.

Met vr.groet
Luc
Windows XP Prof SP2, AMD DualCore 4400, 1024 MB RAM, NTFS, Norton AntiVirus, Internet Explorer 7.0, Outlook Express 6

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Check gelijke knoppen op een Userform
« Reactie #7 Gepost op: 14 april 2007, 13:36:13 »
Luc, heb je je progje nu volledig werkend?  ??? Zou je dan het eindresultaat weer als bijlage willen plaatsen? Het is namelijk écht een leuk progje!  ;)

Groet, Leo
______________________________

Groet, Leo

Offline LucB

  • Lid
  • *
  • Berichten: 55
  • Groeten Luc
Re: Check gelijke knoppen op een Userform
« Reactie #8 Gepost op: 14 april 2007, 14:29:50 »
Dag allemaal,

Het progje is bijna af.
Alleen de tijdsduur om alle knopjes weg te klikken
lukt nog niet.

Groet
Luc
Windows XP Prof SP2, AMD DualCore 4400, 1024 MB RAM, NTFS, Norton AntiVirus, Internet Explorer 7.0, Outlook Express 6

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Check gelijke knoppen op een Userform
« Reactie #9 Gepost op: 14 april 2007, 16:05:13 »
Luc, ik ben er toch ook nog ff mee doorgegaan (met je 1e bijlage). Ik ben nog steeds een Exceller die graag dingen wegschrijft naar de worksheet. Daarom heb ik in kolom C nog een 5-tal named ranges aangemaakt.
C1 = welke 'klikbeurt'; C2 = welke letter in de 1e klikbeurt; C3 = de starttijd bij het klikken op de knop 'Laden'; C4 = het aantal opgeloste gelijke knoppen; C5 = het aantal niet gelijk gekozen knoppen.

Na het 'Laden' wordt de caption van de knop omgezet naar 'Klaar'. Als dus alle knoppen 'geklikt' zijn, moet deze nog gedaan worden om het spel te stoppen. Op dat moment wordt de gebruikte tijd getoond en het aantal foute klikken. Als je eerder het spel wilt stoppen door op 'Klaar' te klikken, verschijnt er een vraag of je werkelijk wilt stoppen...

Maar goed, het is niet zo professioneel als dat jij 'm aan't afmaken bent, maar het werkt prima!


Groet, Leo

EDIT: er moeten een 2-tal aanpassingen gedaan worden:
1) in de form-code moet het <= 26 vervangen worden voor <26
2) in bovenstaande beschrijving is cel C3 de button-naam waar het eerst op geklikt is... (de rest van de beschrijvingen schuift dan 1 plek door)
______________________________

Groet, Leo

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Check gelijke knoppen op een Userform
« Reactie #10 Gepost op: 14 april 2007, 16:22:45 »
Luc,

'k Heb het nu ook effe bekeken. Een paar losse ideetjes.

Waarom buttons en geen labels? Dat gaat toch vlotter, denk ik.
Misschien kan je ook de achtergrondkleur iets vager laten worden wanneer de tekeningen juist aangeklikt zijn. Zo wordt het misschien nog iets duidelijker.

Voor de "next level": 't Zou wel leuk zijn om de tekeningen ook te laten bewegen  :) Hoe minder er overblijven hoe sneller: woow!

Nu valt me in: ben jij het die een hele tijd geleden al met tekeningetjes en memospelletjes bezig was? Grootvader met kleinkinderen meen ik me te herinneren.

tot ziens,
Erik

Offline LucB

  • Lid
  • *
  • Berichten: 55
  • Groeten Luc
Re: Check gelijke knoppen op een Userform
« Reactie #11 Gepost op: 14 april 2007, 16:59:42 »
Leo,

Dank voor je nuttige aanvulling.

Erik,

Je herinnering is juist.
En dat van die labels met bewegende beelden spreekt me wel aan.

Ik zie graag je kunstwerk tegemoet.

Beste groeten
Luc
Windows XP Prof SP2, AMD DualCore 4400, 1024 MB RAM, NTFS, Norton AntiVirus, Internet Explorer 7.0, Outlook Express 6

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Check gelijke knoppen op een Userform
« Reactie #12 Gepost op: 14 april 2007, 18:54:02 »
Hierbij een klein voorbeeldje om te tonen wat er mogelijk is.
Zet deze code in je userformmodule. Laad je tekeningen met je "laadknop" en klik dan ergens op je userform. (Ik gebruik dikwijls de "klik"event om dit soort dingen te testen.)
Speel met "left" (en eventueel "top") en plaats DoEvents in de "loop"...
Private Sub UserForm_Click()
Dim n As Integer
Dim w As Single

w = CommandButton2.Left - CommandButton1.Left

'Application.EnableCancelKey = xlErrorHandler

On Error GoTo stopit

    Do
        For n = 1 To 52
            With Me.Controls("CommandButton" & n)
            .Left = IIf(.Left < -w / 2, w * 12.5, .Left - 1)
            End With
        DoEvents
        Next n
    Loop While Me.Visible = True

stopit:
End Sub
Nog wat bijschaven is zeker nodig, maar zo vind ik het al leuk.

NB: had je al gemerkt dat je code niet juist werkt: klik eens 2 keer op dezelfde knop.

tot ziens,
Erik

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.280
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Check gelijke knoppen op een Userform
« Reactie #13 Gepost op: 14 april 2007, 20:59:43 »
Heren, zoals ik het allemaal kan zien, hebben we geloof ik met 2 'grootheden' te maken...  ;) De code van Luc is al meer dan imposant, maar wat Erik nu weer ff toevoegt, is volgens mij toch echt hogere programmeerkunde!
Ik geloof dat ik jullie maar samen laat 'door sparren' omdat het nu toch boven mijn petje gaat groeien.

Ik voeg nu als bijlage mijn laatst bijgewerkte versie toe. Er zat toch nog iets fout met 'het kunnen stoppen' als je alle buttons had weggeklikt. Ook heb ik voor de aardigheid nog Erik's 'lichtkrantcode' er bij gezet (klik op het form). O ja, 2x klikken op dezelfde button is ook niet meer mogelijk.

Heren, ik blijf deze topic op de voet volgen zodat ik toch weer een klein beetje kennis van jullie kan (mag) overnemen.

Groet, Leo

p.s. Erik, zonder deze topic 'over te willen nemen"... Hoe laat je het scrollen weer stoppen als je form nog open staat?
______________________________

Groet, Leo

Offline Erik Van Geit

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 306
  • Geslacht: Man
Re: Check gelijke knoppen op een Userform
« Reactie #14 Gepost op: 14 april 2007, 22:26:36 »
Citaat
Hoe laat je het scrollen weer stoppen als je form nog open staat?
door hier nog een voorwaarde aan te vullen
Loop While Me.Visible = Trueofwel een variabele die True moet blijven, ofwel een cel checken ... mogelijkheden genoeg

ik zou trouwens de "x" (sluit userform) uitschakelen

 


www.combell.com