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

Macro's excel

Status
Niet open voor verdere reacties.

AudiSport

Gebruiker
Lid geworden
15 mei 2014
Berichten
12
Beste,

Graag had ik geweten of het volgende mogelijk is:

Heb een document gemaakt om onze maandelijke dartsavond bij te houden. Ik heb al een formule ingestoken om automatisch de punten van iedere maand naar het totaalklassement te plaatsen.
Ook zit er een formule in dat iedere persoon een eigen ID heeft, zodat ik gewoon het nummer moet intikken en hun naam erbij springt.

Nu zou ik graag met macro's het totaalklassement automatisch laten bijwerken op positie volgens het totaal aantal punten. Dit is waarschijnlijk mogelijk via sorteren, maar zou het liever volautomatisch hebben.
Zo hoef ik niet meer aan het totaalklassement te komen.

Per maand kan je ook 2 vakken zien waar iedere speler dus 15 worpen kan doen (15 witte cellen), in het grote blauwe vak komt dan hun totaal aantal punten. Is het mogelijk van dit totaal dan automatisch in te vullen bij hun naam in de linkerkolom? Die kolom linkt dan het totaal aan het totaalklassement.

Misschien moeilijk om nu zo te begrijpen, maar hierbij load ik alvast het bestand op voor diegenen die graag een kijkje zouden willen hebben, of dit kunnen aanpassen.

Alvast bedankt voor jullie info,
Mvg

Bekijk bijlage Seizoen_2016_darts.xlsx
 
Je hebt in het bestand een aantal denkfouten staan. Een ID is uniek en dit kan je niet in formule vatten om te sorteren. Zowel in de tab 'TOTAALKLASSEMENT' als in in de tab 'Februari' heb ik deze waarden hard gemaakt. VBA kan niet of niet goed omgaan met samengevoegde cellen dus gaat het meestal niet werken. Verder geef je niet aan wat er eigenlijk moet gebeuren. Er spelen maar twee spelers per maand tegen elkaar? Of moeten de gescoorde punten per speler per maand opgeteld worden?

In het voorbeeldje twee macro's die als je in 'Februari' twee spelers kiest en wat scores invult en vervolgens op de knop opslaan klikt wat wijzigingen aanbrengen. Als je op de tab 'TOTAALKLASSEMENT' klikt wordt de sortering ook aangepast.
 

Bijlagen

Ik ben het eens met VenA: gebruik harde waarden in plaats van formules voor sleutelvelden en vermijd samengevoegde cellen.
Hier kom ik op uit:
 

Bijlagen

Kijk eens naar mijn knutsel werk, wat VenA en Timshel zeggen dat zijn wijze woorden van excel fanaten, er zijn van dit soort topic al heel veel voorbij gekomen, goegel eens naar meerdere oplossingen, je kan er maar van bijleren.
 

Bijlagen

Beste,

Prachtig werk geleverd allemaal!
Hier heb ik wat voordelen uit iedereen zijnn document gehaald.

VenA:
Enorm gemakkelijk dat je totaalklassement gesorteerd staat per totaal aantal punten, dat was zoals ik het wou, al begrijp ik niet waarom de eerste 4 cellen vast staan? heeft dit een bepaalde betekenis?
Wat ook prachtig is en zeker iets is dat een meerwaarde geeft dat bij iedere aparte maand ook gesorteerd word op aantal punten, moest er hier nog een kolom naast komen met positie en getallen van 1 naar 1000 (om gemakkelijk te lezen) zou dit wel de max zijn!

De bedoeling is net zoals je dacht, er spelen 2 spelers tegen elkaar om het wat sneller te doen verlopen, na deze 2 hun 15 worpen hebben gedaan, is het aan andere 2. Daarvoor is de knop van JeanPaul28 dus gemakkelijk (add totaal).


Timshel:
Net hetzelfde zoals bij VenA, simpel en goed dat er op positie gesorteerd wordt bij totaalklassement, op het totaal aantal punten, dat blad is dus dik in orde :)

JeanPaul28:
Je knop bij iedere aparte maand is prachtig dat hij wanneer je add totaal doet, hij de punten bijtelt en al direct de cellen terug leeg maakt.

Dus moesten jullie dit kunnen bundelen in 1 bestand zou het af zijn! Dan is het net zoals ik wilde.
Alvast enorm bedankt voor jullie moeite, ik kan hier maar van bijleren.

Mvg
 
Dit lijken mij aanpassingen die je prima zelf kan proberen. De cellen leegmaken gaf bij mij een foutmelding door de samengevoegde cellen. Maar blijkbaar is het JeanPaul28 wel gelukt en kan zijn opmerking als knutselwerk dus de prullenbak in;)

Edit even gekeken waarom het bij mij niet werkte. Zo lijkt het goed te gaan.

Code:
Sub VenA()
With ActiveSheet
    Set f = .Range("A2:A101").Find(.[F2].Value, LookIn:=xlValues, LookAt:=xlWhole)
    Set f1 = .Range("A2:A101").Find(.[P2].Value, LookIn:=xlValues, LookAt:=xlWhole)
    If Not f Is Nothing And Not f1 Is Nothing Then
        .Cells(f.Row, 3) = .Cells(f.Row, 3) + .[f4]
        .Cells(f1.Row, 3) = .Cells(f1.Row, 3) + .[p4]
    End If
    .Range("F2:F3,I4:M9,P2:P3,S4:W9").ClearContents
    .Cells(1).CurrentRegion.Sort .[C1], xlDescending, , , , , xlYes
End With
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan