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

Voetbaluitslagen verwerken met een macro of anders?

Status
Niet open voor verdere reacties.

Evelthoven

Gebruiker
Lid geworden
26 sep 2006
Berichten
690
Goedenavond,

Bijgesloten heb ik een bestand met twee tabbladen, nl. "wedstrijden" en "matrix".
Op het blad wedstrijden vul ik wekelijks de uitslagen in.
Mijn vraag is nu of het mogelijk is om op een snelle manier de uitslagen terug te zien in het tabblad matrix.
Ik heb al 5 voorbeelden ingevuld met een verwijzing handmatig naar de uitslagen in het tabblad "wedstrijden" maar dit is nogal bewerkelijk, vervelend en erg foutgevoelig. Ik denk dat er misschien met een macro iets te maken zou moeten zijn dat als ik een uitslag invul in wedstrijden dat de uitslag met de macro dan meteen naar voren komt in het tabblad matrix.

De 5 voorbeelden die ik handmatig heb ingevoerd zijn:

cel R2 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!B4
cel T2 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!C4

cel U2 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!B5
cel W2 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!C5

cel X2 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!B6
cel Z2 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!C6

cel AV4 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!H14
cel AX4 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!I14

cel AM6 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!N11
cel AO6 in tabblad "Matrix" is in tabblad "wedstrijden" =wedstrijden!O11

Ik hoop dat mijn vraag enigszins duidelijk is en dat iemand mij kan helpen.

Alvast bedankt.

Groeten,
Eric
 

Bijlagen

De layout van beide tabbladen lijken zoveel op elkaar dat je net zo snel de uitslagen kunt invullen in 'matrix' tabblad
 
Hallo Popipipo,

Daar heb je helemaal gelijk in, maar het gaat er mij om om meer van Excel, en vooral macro's te kunnen leren.
Maar toch bedankt voor je reactie. Ik wil mijn vraag toch nog graag open laten staan.

groeten,
Eric
 
Niet met een macro maar met 2 formules:

Voor de scores van de thuisploegen (kolommen O, R, U, X etc.):

Plakken in O2 en naar beneden doortrekken (kopieren naar R2, U2, X2 etc.)
Code:
=VERSCHUIVING(INDIRECT("Wedstrijden!"&ADRES(VERGELIJKEN(O$1;INDIRECT("Wedstrijden!"&ADRES(1;VERGELIJKEN($N2;Wedstrijden!$A$3:$BB$3;0))&":"&ADRES(20;VERGELIJKEN($N2;Wedstrijden!$A$3:$BB$3;0)));0);VERGELIJKEN($N2;Wedstrijden!$A$3:$BB$3;0)));0;1)

Voor de scores van de uitploegen (kolommen Q, T, W, Z etc):
Plakken in Q2 en naar beneden doortrekken (kopieren naar T2, W2, Z2 etc.):
Code:
=VERSCHUIVING(INDIRECT("Wedstrijden!"&ADRES(VERGELIJKEN(O$1;INDIRECT("Wedstrijden!"&ADRES(1;VERGELIJKEN($N2;Wedstrijden!$A$3:$BB$3;0))&":"&ADRES(20;VERGELIJKEN($N2;Wedstrijden!$A$3:$BB$3;0)));0);VERGELIJKEN($N2;Wedstrijden!$A$3:$BB$3;0)));0;2)

Let even op met je schrijfwijze van Den Haag. In cel G3 staat Den Haag zonder spatie, verder overal met spatie aan het eind. Belangrijk om 1 schrijfwijze te kiezen!
 
Goedemiddag Arrie23,

Bedankt voor de formules. Ik heb gedaan wat je geschreven hebt en op het eerste gezicht ziet het er goed uit.
Twee kleine vraagjes nog hierover:
1. als in het tabblad "Wedstrijden" nog geen uitslag is ingevuld dan krijg ik in "Matrix" bij alle wedstrijden 0-0 te zien. Kun je dit misschien aanpassen dat deze cellen leeg blijven en pas echt gevuld worden als er pas echt een uitslag is ingevuld in Wedstrijden?
2. bij de thuis en uitwedstrijden van Den Haag krijg ik overal te zien # terwijl ik de schrijfwijze overal heb aangepast met een spatie ertussen. Wat doe ik nog fout?

Ik ben benieuwd.

Groeten,
Eric
 
2. haal de spatie achter Den Haag overal weg.:d
 
Goedemiddag,

Bedankt. Vraag 2 betreffende de schrijfwijze van Den Haag: dit heb ik aangepast en nu is het in orde.

Groeten,
Eric
 
1. Ik zit niet meer achter een PC maar probeer eens:

Als(isleeg('formule');"";'formule')

Op de plek van 'formule' die lange formules plakken
 
Hallo Arrie23,

Ik heb dit meteen geprobeerd maar dan krijg ik een pop-up schermpje met de volgende mededeling:

"De opgegeven formule kan niet worden ingevoerd omdat deze meer geneste niveau's gebruikt dan is toegestaan in de huidige bestandsindeling"

Jammer dus, is er misschien een andere mogelijkheid?
 
Tjonge, die waarschuwing kende ik nog niet. Zo zonder PC weet ik het ff niet. Wellicht iemand anders een idee?
 
Flauwe oplossing voor de time being: de lege cellen op het wedstrijdblad vervangen door een streepje. Zodra de score bekend is de streepjes overschrijven met de score
 
Hallo Arrie23 en anderen die met mijn probleem bezig zijn geweest.

Ik heb zelf een oplossing gevonden voor de nullen in het matrix tabblad.

Overal waar 0-0 staat in de matrix, maar nog geen uitslagen zijn ingevuld in het tabblad wedstrijden, heb ik via Voorwaardelijke Opmaak een oplossing ontdekt. Via CTRL+1 ben ik naar Celeigenschappen gegaan, daarna in Categorie gekozen voor Aangepast, en het woord Standaard onder Type vervangen door "". Dan zie je onder Voorbeeld een compleet leeg vak. Als ik deze dan toepas op de cellen met 0-0 dan blijven deze cellen leeg totdat ik iets ingevuld heb in "Wedstrijden".

Nu werkt alles perfect zoals ik het graag wil hebben.

Nogmaals iedereen bedankt.

Groeten,
Eric
 
het kan ook met een vba function
Code:
'deze function gebruikt ook de cellen die verstopt zijn door het samentevoegen van de cellen in de bovenste rij.
'de wedstrijdentabel heeft een naam gekregen: "Wedstr"

Function vanWedstrijdenNaarMatrix(Uit As Range, Thuis As Range, WedstrijdTabel As Range)
Dim ThuisPloegen As Range, UitPloegen As Range, K As Range, R As Range, Opzij As Integer
vanWedstrijdenNaarMatrix = ""

If Uit = "" Then
    If Uit(1, 0) <> "" Then                     'streepje zetten
        If Uit(1, 0) <> Thuis Then
            vanWedstrijdenNaarMatrix = "-"
            Exit Function
        End If
    ElseIf Uit(1, -1) <> "" Then                ' probeer uit ploeg inte vullen
        If Uit(1, -1) = Thuis Then Exit Function 'tegen je zelf spelen doen we niet
        Set Uit = Uit(1, -1)                      'nu wijst Uit naar de naam van de UitPloeg
        Opzij = 1                               'de score van de uitploeg staat 1 vakje naast de tuisploeg
    End If                                      'opzij wordt later gebruikt om de waarde van de juiste cel te pakken
End If

Set ThuisPloegen = WedstrijdTabel.Rows(1)   'de namen van de tuisploegen staan in de eerste rij van de WedstrijdTabel
Set K = ThuisPloegen.Find(Thuis, , , xlWhole) 'K wijst nu naar de juiste tuisploeg
If K Is Nothing Then Exit Function              'als er geen ploeg gevonde is dan stoppen
Set UitPloegen = Intersect(WedstrijdTabel, K.EntireColumn) 'nu de uitploegen in stellen
Set R = UitPloegen.Find(Uit, , , xlWhole)                   'R staat nu op de juiste uitPloeg
If R Is Nothing Then Exit Function  '                       'als er geen ploeg gevonde is dan stoppen
If R(1, 2) = "" And R(1, 3) = "" Then Exit Function         'als er nog niets is ingevuld dan stoppen
vanWedstrijdenNaarMatrix = R(1, 2 + Opzij)               'hier wordt de waarde van de function ingesteld
End Function                                            'als opzij 1= dan wordt de uitploeg in gevuld
                                                        'en anders is opzij 0 dan wordt de tuisploeg ingevuld
 

Bijlagen

Goedenavond Sylvester-Ponte,

Sorry dat ik pas zo laat reageer, maar ik kon helaas niet eerder.
Het ziet er indrukwekkend uit. Ik heb het getest en het werkt perfect. Ik moet je heel eerlijk bekennen dat ondanks de tekst als uitleg in de macro ik dit toch heel moeilijk kan beredeneren wat er nu precies allemaal gebeurt, maar ik vind het geweldig! Dank u.

Groeten,
Eric
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan