Status
Niet open voor verdere reacties.
Ik ben competitieleider van een biljartcompetitie. De wedstrijdgegevens worden uiteraard in een excel programma verwerkt.
Hierdoor kunnen we met kerst de nieuwe gemiddelden bepalen, maar ook gelijk zien hoe een speler op het eind van het jaar uitkomt.
We sorteren na elke keer wedstrijdgegevens inbrengen het 7e tabblad op kolom K.(geel) (in werkelijkheid hebben we veel meer tabbladen/teams)
Hierdoor kan iedereen zien of hij/zij op de algemene ranglijst is gedaald of gestegen. We willen graag dat dit automatisch gaat met een formule.
Bij ons eigen team heb ik een ranglijst aan de resultaten gekoppeld op het 2e tabblad. Die formules heb ik geprobeerd over te nemen (zie tabblad 8).
Maar ik krijg het als iemand met te weinig kennis van excel niet voor elkaar.
Kan iemand mij een zetje in de goede richting geven?

Groet WirelmaBekijk bijlage resultaten van de teamleden 2016 - 2017 - versie 2016 07 26b2.xls
 
Lukt het nou zoals ik het gemaakt hebt, dat de Macro automatisch wordt uitgevoerd ?

Anders is een button waar je de macro aan hangt een optie.

Lees ook even je PB.
 
Ik voeg een bestand bij met een sorteerbutton

De Macro staat in Modules en dan Module1
Ga daar heen met de toetscombinatie Alt F11

Dit is het script

Code:
Sub Macro1()
'
' Macro1 Macro
'
MsgBox Date
'
    Range("A4:L46").Select
    ActiveWorkbook.Worksheets("Totaaloverzicht 2016-2017").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Totaaloverzicht 2016-2017").Sort.SortFields.Add Key _
        :=Range("K4:K46"), SortOn:=xlSortOnValues, Order:=xlDescending, _
        DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Totaaloverzicht 2016-2017").Sort
        .SetRange Range("A4:L46")
        .Header = xlGuess
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub

Wat je moet aanpassen als het om meerdere cellen gaat is Range("A4:L46") en SetRange Range("A4:L46") Het bereik dus
Dan ook de kolom K Range("K4:K46") Omdat de cellen in deze kolom als eerste gesorteerd moeten worden en de cellen in de rest van het bereik moeten meegenomen worden in de sortering.
 

Bijlagen

Nog een kleine aanvulling omdat je niet bekend bent met VBA.
Als je in de excel sheet de toetscombinatie Alt F11 gebruikt hebt zit je dus in de editor van VBA.
Hier kun je bovenin bij Invoegen een module aanmaken. Deze heet dan Module 1
Dubbelklik daar dan op en je kunt in het rechter veld de code plakken uit bericht #20

Hierna zal je de code aan moeten passen voor jouw sheet zoals ik aangegeven heb. Check dit goed, anders wordt er niet goed gesorteerd.

Als dat voor elkaar is, kun je een button maken in de excelsheet bij Invoegen / Vormen.
Kies hier een vorm die jij mooi vindt en klik er op met linkermuisklik. Ik had gebruikt, bij rechthoeken de tweede van links met de ronde hoeken.
Klik daarna in de sheet ook weer met linkermuisklik en je zult zien dat de button er dan staat.
Deze kun je groter of kleiner maken met de linkermuisklik ( zie de rondjes om de rechthoek ) en verslepen waar je hem wilt hebben. Met rechtermuisklik kun je tekst invoegen / bewerken in de button. Selecteer de tekst en je kunt deze groter / kleiner maken of centreren.
Daarna ga je op de button staan met rechtermuisklik en klik dan op Macro toewijzen. Als je de code hebt gebruikt van hierboven staat daar Macro1.

Sla het bestand op als Excel werkmap met macro's

Nu moet het toch wel lukken allemaal. ;)

Wat je daarna nog kunt doen is het automatisch uitvoeren van Macro1 bij het openen van Tablad 7 Totaaloverzicht 2016-2017

Zet hierin deze code, dan wordt de Macro automatisch uitgevoerd. Als dat werkt, kun je de button die je zojuist gemaakt hebt weer verwijderen omdat dit dan geen nut meer heeft.

Code:
Private Sub Worksheet_Activate()

  Macro1

End Sub

VBA.jpg
 
Laatst bewerkt door een moderator:
Ik had hem vanmiddag zover dat het werkt. Alleen krijg ik nu, nadat er een mutatie heeft plaatsgevonden, de opmerking dat de macro niet actief is en ik excel moet afsluiten en opnieuw moet starten. Dat is natuurlijk wel omslachtig. Te omslachtig.
Ik zal nu met bericht #21 aan de slag gaan.
Bedankt.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan