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

Rekenen in Userform (2)

Status
Niet open voor verdere reacties.

JieCie

Gebruiker
Lid geworden
15 jun 2011
Berichten
71
Nadat ik vorig jaar april zo goed ben geholpen met Rekenen in Userform ,
en het programma nu een tijdje naar grote tevredenheid heb gebruikt.

Wil ik nu een stapje verder gaan.

Het bijhouden van competitie van +/- 60 personen per middag/avond per week is toch nog een heel werk. Met nog steeds kans op foute invoer.
Het aantal personen wat die middag/avond meedoet wordt verdeeld in groepjes van 4 ,
met eventueel een groep met 5 en/of een groep met 6 personenDeze groepen spelen via een vast schema, en hier is denk ik nog veel met het programma uit te halen.
Ik heb voor 4/5/6 spelers een een UserForm gemaakt , met daarop vermeld het speelschema voor de betreffende groepen.
Het programma voor 4 personen is:
1e ronde : speler 1 met speler 2 – tegen –speler 3 met speler 4
2e ronde : speler 1 met speler 3 – tegen – speler 2 met speler 4
3e ronde speler 1 met speler 4 – tegen – speler 2 met speler 3

Nu moet het als het mogelijk is dat als je de 1eronde de ronde standen bij Speler 1 invuld dezelfde stand bij Speler 2, en de omgekeerde stand bij Speler 3 en Speler 4 ingevuld word .enz.enz.Dus in het kort alleen de uitslagen van speler 1 invullen en de rest automatische invullen en uitrekenen Maar hoe?????

Ik weet ook niet of het wegschrijven van 4 regels(of bij 5 /6 spelers 5/6 regels)in een keer kan (met een knop)
Heb het een en ander als voorbeeld uitgewerkt in de tab Voorbeelden in de file.

Hopend dat het een beetje duidelijk is.

Vriendelijke groet, JieCie



http://www.mijnbestand.nl/Bestand-OGLXVOOBXLL6.zip
 
Laatst bewerkt door een moderator:
De zelfde waarde overnemen in een Userform

Nadat mijn vraag 14 dagen op het forum staat, met ruim 170 vieuws , en geen reacties
Vraag ik mij af, kan het niet, is het veel werk, of is het niet duidelijk.

Nu heb ik een vereenvoudigd voorbeeld gemaakt, en de vraag is
als ik een waarde in A invul moet deze overgenomen worden (gecopieerd) worden in C+F+H
als er een waarde in B gezet wordt moet deze overgenomen worden in D+E+G

Ik ben zelf aan het prutsen geweest maar heb er te weinig verstand van.
Als ik nu een waarde in A invul en ga in het vak C staan en de spatiebalk indrukt (of een andere toets) dan wordt de goede waarde er wel neer gezet . Dit geldt ook voor F en H
Idem voor een waarde in B
Dus het werkt wel maar nog niet goed. De bedoeling is dat als er een waarde in A en B ingevuld word, dat dit gelijk in de betreffende labels wordt gezet.

Wie kan me hier mee helpen. Als dit werkt kan ik het misschien wel weer verder uitwerken in de eerste vraag.

Vriendelijke groet, JieCie
 

Bijlagen

Ik hou het op vraag onduidelijk en de namen van je textboxen maken het ook niet makkelijer.
Maar hierbij een voorbeeldje voor textbox A

Code:
Private Sub Txt_Speler1Ronde1V_AfterUpdate()
Txt_Speler2Ronde1V.Value = Txt_Speler1Ronde1V.Value
Txt_Speler3Ronde1T.Value = Txt_Speler1Ronde1V.Value
Txt_Speler4Ronde1T.Value = Txt_Speler1Ronde1V.Value
End Sub

Niels
 
Niels,

Bedankt voor je snelle reactie, dat wat ik had gemaakt ben ik 14 dagen mee bezig geweest, jij geeft het antwoord binnen enkele minuten.

Als de eerste vraag niet duidelijk was, jammer dat er dan geen reactie op komt.
Wat de veldennamen betreft, dit had een collega van het forum vorig jaar gemaakt, en ik ben er op verder gegaan.
Dit was voor het invoeren van 1 speler, ben nu bezig met een schema voor 4 spelers (dit scheelt 75% met invoeren)

Maar voor nu bedankt, ik ga het verder uitwerken in mijn eerste vraag.

Misschien wil je ook nog eens naar de eerste vraag kijken.

Vriendelijke groet, JieCie
 
Niels,

Tuurlijk is dat dezelfde vraag maar dat gaat een stuk verder, en met jou antwoord kan ik al een stuk verder.

Maar een ander vraag was:"Ik weet ook niet of het wegschrijven van 4 regels(of bij 5 /6 spelers 5/6 regels)in een keer kan (met een knop)
Heb het een en ander als voorbeeld uitgewerkt in de tab Voorbeelden in de file."

Dit gaat in het voorbeeld over de horizontale lijnen naar een tabblad Database.

Vr. groet, JieCie
 
Een klein voorbeeldje en dan snap je waarschijnlijk mijn reactie over de namen van de textboxen.

Code:
For i = 1 To 4
Sheets(1).Cells(2, i).Value = Controls("textbox" & i).Value
Next

Niels
 
Niels ,

Ik kom er later deze week op terug, eerst even het eerste maken voor 3 speelronde's,
dan even kijken hoe het met de eindstand zit (optelling aftrekking en punten aantal)
Dit was mijn vraag van vorig jaar, maar even kijken hoe het toe te passen is met 4 spelers.
Dan als het invulblad correct werkt , de heleboel wegschrijven naar tab_Database

Voor nu vast bedankt.

Vr.Groet, JieCie
 
Niels,
Terugkomend over het laatste bericht , ik heb er nu 3 rondes ingezet dit was geen probleem.
(Dit werkt zoals verwacht)

Toen heb ik de labels TotaalpuntenVoor – TotaalPuntenTegen –Punten - Verschil per speler er ingezet
Uitleg.:
PuntenVoor = optelling van Labels: Txt_Speler1Ronde1V+Txt_Speler1Ronde2V +Txt_Speler1Ronde3V
PuntenTegen = optelling van Labels :Txt_Speler1Ronde1T+Txt_Speler1Ronde2T +Txt_Speler1Ronde3T
Punten = Als een ronde gewonnen wordt,(13punten voor) is dat 1 punt dus max. is 3 punten maar als er niet gewonnen wordt dus geen punten behaald moet er wel een 0 inkomen
Verschil=is het verschil van labels: Txt_Speler1TotaalV- Txt_Speler1TotaalT (dit kan negatief zijn)
Dit werkt wel, maar ik denk, nou ik weet wel zeker als je naar de formules kijkt dat het waarschijnlijk erg omslachtig, en dat het een stuk eenvoudig en korter kan.

Misschien wil er naar kijken.

Maar waar het omgaat is het wegschrijven van de data van alle 4 de spelers in een keer naar de database .
Ik snap jou voorbeeld niet waar de labels moeten komen.
Ik heb de tab database aangemaakt met de juiste kolommen, en in de UserForm de knoppen INVOEREN en LEEGMAKEN gezet,
INVOEREN werkt nu voor de 1e speler

Misschien kan nu er voor een speler in staat, dit gewijzigd worden naar 4 spelers.

Vriendelijke groet, JieCie
 

Bijlagen

Naar de telling heb ik niet gekeken , verder ook niet naar de opbouw van je macro, heb hem alleen aangepast zodat er 4 regels tegelijk worden weggeschreven.


Code:
Private Sub OK_button1_Click()
For i = 1 To 4
Sheets(1).Range("10:10").Insert
With Sheets(1).Range("C10:O10")
    .BorderAround xlContinuous, xlThin, xlColorIndexAutomatic
    .Borders(xlInsideVertical).Weight = xlThin
    .Font.Color = vbBlack
  End With
Range("C10").Value = Controls("Txt_Lid1").Text
Range("D10").Value = Controls("Txt_Naam1").Text
'Range("C10").Value = Controls("Txt_Lid" & i).Text 'zijn niet aanwezig
'Range("D10").Value = Controls("Txt_Naam" & i).Text 'zijn niet aanwezig
Range("E10").Value = Controls("Txt_Datum").Text
Range("F10").Value = Controls("Txt_Speler" & i & "Ronde1V").Text
Range("G10").Value = Controls("Txt_Speler" & i & "Ronde1T").Text
Range("H10").Value = Controls("Txt_Speler" & i & "Ronde2V").Text
Range("I10").Value = Controls("Txt_Speler" & i & "Ronde2T").Text
Range("J10").Value = Controls("Txt_Speler" & i & "Ronde3V").Text
Range("K10").Value = Controls("Txt_Speler" & i & "Ronde3T").Text
Range("L10").Value = Controls("Txt_Speler" & i & "TotaalV").Text
Range("M10").Value = Controls("Txt_Speler" & i & "TotaalT").Text
Range("N10").Value = Controls("Txt_Speler" & i & "Punten").Text
Range("O10").Value = Controls("Txt_Speler" & i & "Verschil").Text
Next
Leeg_button1_Click
Range("A1").Select
Leeg_button1_Click

End Sub

PS zoek eens in de VBA-help het verschil tussen een label en een textbox.

Niels
 
Laatst bewerkt:
Niels,

Veel dank hiervoor, prima het werkt.

Wat betreft de labels en de textboxen, ja ik ben een leek die wel leergierig is, en haal wel eens de dingen door elkaar.
Het is al moeilijk om je vraag duidelijk voor iedereen te stellen.

Ik weet wel wat ik wil, maar kan het niet maken, probeer en puzzel er veel mee en aldoende leert men.

Jammer dat je de telling niet wil nakijken, want ik wil het zelfde ook voor 5 en 6 spelers maken, en dan ga ik op een mijn amateuristische manier door.

maar ja, ik ga jou oplossong nu eerst in mijn orgineel file zetten.

Vriendelijke groet, JieCie
 
Voor dat ik de vraag op opgelost zet.
Heb ik nog een vraag.

Kan je de Userform ook een voorwaarde zetten.
Voorbeeld dat bij de uitslagen rondes de textboxen voor en tegen geen waarde groter dan 13 wordt ingegeven.
Bij lidnummer geen waarde die groter is dan het aantal leden (220)

Vriendelijke groet, JieCie
 
Wederom Niels,

Bedankt voor je snelle antwoord,

Ik ga kijken of ik jou voorbeed kan toepassen, als het werkt zet ik de vraag op opgelost.

Vriendelijke groet, JieCie
 
Het wijzigen van een uitslag

Nu ik een goed werkend programma heb voor 1,4,5,6 spelers heb ik toch nog op een probleem
bij het invullen van de 1 speler uitslagen
Bij het invoeren van de uitslagen per persoon wordt toch nog wel eens een type foutje gemaakt.

Nu kan dat wel gewijzigd worden in de database, maar dan wordt het niet doorgerekend.(in de database staan geen formules)

Dus wil ik via een Userform 1 uitslag wijzigen.
Wat is de bedoeling, dat eerst de juiste datum wordt ingevoerd(of opgezocht) vervolgens dat het juiste lidnummer wordt ingevuld (wel gespeeld hebbende op die datum)
Vervolgens moeten de uitslagen automatisch ingevuld worden, en kan daarna de uitslag worden gewijzigd, vervolgens weer wegschrijven naar de zelfde regel in de database.

De vraag is, is dit mogelijk en nog belangrijker HOE.

Vriendelijke groet, JieCie
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan