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

Opgelost speelschema

  • Onderwerp starter Onderwerp starter Verwijderd lid 501906
  • Startdatum Startdatum
Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.
En is het dan niet aan jou om te controleren of dat wel klopt?

Maar goed
Ik neem aan dat jij ook iemand eruit kunt gooien
doe dat maar als je mijn bericht gelezen hebt
 
je ene macro een beetje aangepast, het deel onder de diagonaal wordt afgelopen en het deel boven de diagonaal wordt daarbij vergeleken.
De formules zijn VO licht groen
 

Bijlagen

@cow18
bedankt voor je werk
Duidelijk en een heel simpele oplossing
"er een spatie voorzetten en de cel opmaak op aangepast naar (d-mmm)

Dank u!
 
Beste @emields

het idee is dat als je achter bijvoorbeeld (naam 1) onder een tegenstander (naam 6) 1-0 zet
dat dan achter (naam 6) onder (naam 1) 0-1 komt te staan.
Maar daar staan spaties tussen en dat wil ik niet.

Naam 1 speelt Naam 2 is hetzelfde als Naam 2 speelt Naam 1
V staat voor vrij, X staat voor gespeelt
met dit script heb je 3 opties
verander V in X, beide velden een X
Haal 1 V weg, beide velden een X
zet in een veld de uitslag andere veld omgekeerde uitslag.

Voor het omdraaien roep ik in VBA module 2 , VBA module 5 aan.
Ik dacht dat de fout in module 5 zat / zit
Als ik in deze
Code:
 DraaiScore = delen(1) & " - " & delen(0)
regel de spaties weghaal dan werkt het niet meer.

Na de oplossing van @cow18 ben ik daar ook weer niet helemaal zeker van.
@cow18 heeft hiervoor al een oplossing aangedragen die goed lijkt te werken.

In jouw oplossing ben ik nog aan het zoeken wat je veranderd aangepast hebt.
In het origine veld komt bij jou een 'X' te staan en dat is niet de bedoeling.

Ik dank je voor het meedenken.


module 5
Code:
Function DraaiScore(score As String) As String
    Dim delen() As String
             ' Splits de score op het minteken
    delen = Split(score, "-")
            ' Verwijder spaties rondom de delen
    delen(0) = Trim(delen(0))
    delen(1) = Trim(delen(1))
            ' Draai de score om zonder spaties
    DraaiScore = delen(1) & " - " & delen(0)
End Function
 
@emields
wow mooie oplossing!
ik ga kijken hoe je script in elkaar zit en hoe
ik het mee kan laten groeien als er meer spelers zijn.

Als ik de code goed lees?

Variabelen R en K:
R krijgt het rijnummer van de geselecteerde cel.
K krijgt het kolomnummer van de geselecteerde cel.

Omgekeerde celpositie:
De code Cells(K, R) vindt de cel die zich op de positie van kolom k en rij R bevindt.

Hier ga ik uitkomen
Bedankt
 
@emields
gelukt Nogmaals mijn dank

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' Tel het aantal gevulde cellen horizontaal vanaf D4
    Dim lastCol As Long
    lastCol = Cells(4, Columns.Count).End(xlToLeft).Column
    
    ' Tel het aantal gevulde cellen verticaal vanaf D4
    Dim lastRow As Long
    lastRow = Cells(Rows.Count, 4).End(xlUp).Row
    
    ' Bepaal het dynamische bereik op basis van de getelde cellen
    Dim dynamicRange As Range
    Set dynamicRange = Range(Cells(4, 4), Cells(lastRow, lastCol))
    
    ' Controleer of de veranderde cel binnen het dynamische bereik ligt en of er slechts één cel is gewijzigd
    If Not Intersect(Target, dynamicRange) Is Nothing And Target.Count = 1 Then
        On Error GoTo fout ' Foutafhandeling inschakelen
        Application.EnableEvents = False ' Gebeurtenisafhandeling uitschakelen om oneindige lussen te voorkomen
        
        ' Deel de celwaarde rond het eerste streepje ("-") op
        Dim t As String
        t = Left(Target, Application.Search("-", Target, 1) - 1)
        Dim b As String
        b = Mid(Target, Application.Search("-", Target) + 1, 5)
        
        ' Haal de rij- en kolomnummer van de veranderde cel op
        Dim R As Long
        R = Target.Row
        Dim k As Long
        k = Target.Column
        
        ' Plaats de omgekeerde waarde in de cel met omgekeerde rij- en kolomcoördinaten
        Cells(k, R) = b & "-" & t
        
        Application.EnableEvents = True ' Gebeurtenisafhandeling weer inschakelen
    fout:
        Application.EnableEvents = True ' Zorg ervoor dat gebeurtenisafhandeling weer is ingeschakeld, zelfs bij fouten
    End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan