Worksheet.nl  

Ga terug   Worksheet.nl > Overig > Archief > PROJECT: WK Voetbal 2010



Status bericht: In behandeling
 
Discussietools Weergave
  #21  
Oud 31 December 2009, 11:10
Junior Member
 
Geregistreerd: 31 December 2009
Berichten: 1
Standaard

Potverdulle, machtig mooi spul!
Was hier terecht gekomen omdat ik zelf ook met een WK-overzicht bezig was, maar die gaat mooi de plee in nu, ik biets mooi deze voor hier op 't werk.
Sponsored Links
  #22  
Oud 31 December 2009, 11:35
Junior Member
 
Geregistreerd: 30 March 2008
Berichten: 19
Standaard Foutje ???

Als de wereldkampioen niet Nederland is staat er FOUT. en krijg je ook geen punten???

Of heb ik het fout...
  #23  
Oud 31 December 2009, 11:56
Senior Member
 
Geregistreerd: 30 October 2009
Locatie: Venlo
Berichten: 503
Standaard

Citaat:
Als de wereldkampioen niet Nederland is staat er FOUT. en krijg je ook geen punten???

Of heb ik het fout...
Ik zal er vanmiddag even naar kijken.. Eerst de laatste voorbereidingen treffen voor vanavond

EDIT: Fout inmiddels gecorrigeerd in update 2

Laatst gewijzigd door antonh; 5 January 2010 om 12:02
  #24  
Oud 31 December 2009, 16:11
bsalv's schermafbeelding
Forum Guru
 
Geregistreerd: 26 March 2008
Locatie: Bachten de kupe, W-Vl, Belgie
Berichten: 5.975
Standaard

een nieuwe module1 met de gevraagde wijzigingen.

PS. lees eens de help na ivm protect en vooral de optie "userinterfaceonly:=True", daar mee blijft je tabblad toegankelijk voor de macros zonder unprotect !!
Eigenlijk zou je dat misschien eenmalig voor alle tabbladen moeten doen en dan mag er later gestoeid worden, de macros hebben toegang zonder unprotect. Dan kan helemaal voorin "DeelnemersOphalen" die unprotect ook weg.
Zoek anders eens op de site naar andere voorbeelden over die userinterfaceonly
Bijgevoegde bestanden
Bestandstype: bas Module1.bas‎ (7,3 KB, 55x gelezen)
__________________
bsalv
"Er gaat meer boven je petje dan eronder" Toon Hermans
Is je vraag afgehandeld, gelieve die dan op "opgelost" te zetten via de daarvoor voorziene knop
  #25  
Oud 31 December 2009, 16:45
Senior Member
 
Geregistreerd: 30 October 2009
Locatie: Venlo
Berichten: 503
Standaard

Citaat:
Oorspronkelijk geplaatst door bsalv Bekijk bericht
een nieuwe module1 met de gevraagde wijzigingen.

PS. lees eens de help na ivm protect en vooral de optie "userinterfaceonly:=True", daar mee blijft je tabblad toegankelijk voor de macros zonder unprotect !!
Eigenlijk zou je dat misschien eenmalig voor alle tabbladen moeten doen en dan mag er later gestoeid worden, de macros hebben toegang zonder unprotect. Dan kan helemaal voorin "DeelnemersOphalen" die unprotect ook weg.
Zoek anders eens op de site naar andere voorbeelden over die userinterfaceonly
Hartstikke bedankt. Hij schijnt goed te werken nu. Zou je aub ook kunnen kijken naar het 'deelnemers ranking' tabblad? Dat de tabelgrootte aangepast wordt naar het aantal deelnemers (inclusief layout). De unprotect in de 'deelnemersophalen'-macro heb ik inmiddels vervangen voor de userinterfaceonly.

Wat bedoel je precies met:
Citaat:
Eigenlijk zou je dat misschien eenmalig voor alle tabbladen moeten doen en dan mag er later gestoeid worden, de macros hebben toegang zonder unprotect.
Verder worden er in principe toch geen macro's gebruikt, dus waarom zou ik deze code dan op ieder tabblad gebruiken?

Alvast bedankt voor je reactie..
  #26  
Oud 31 December 2009, 17:08
bsalv's schermafbeelding
Forum Guru
 
Geregistreerd: 26 March 2008
Locatie: Bachten de kupe, W-Vl, Belgie
Berichten: 5.975
Standaard

Code:
Zou je aub ook kunnen kijken naar het 'deelnemers ranking' tabblad? Dat de tabelgrootte aangepast wordt naar het aantal deelnemers (inclusief layout).
De ranking van de deelnemers gebeurt door die nieuwe macro "dataranking" al voor alle deelnemers, als je naar de formule in de B-kolom kijkt (bij >50 deelnemers) dan past hij zich netjes aan, anders moet je die rode "53," in de code schrappen.
De layout zou je misschien beter zelf eenmalig doorkopieren tot rij 500 en de extra rode regel onderaan verbergt dan de overblijvende lege regels
Code:
  With Sheets("deelnemers ranking")
    .Protect userinterfaceonly:=True                       'macros mogen wijzigen zonder paswoord !!
    .Range("C4").Resize(UBound(data), UBound(data, 2)) = data
    i = WorksheetFunction.Max(53, .Range("C" & Rows.Count).End(xlUp).Row, .Range("D" & Rows.Count).End(xlUp).Row, .Range("E" & Rows.Count).End(xlUp).Row)  'rijnummer van de laatste niet-lege cel in 1 van die 3 kolommen met een min van 53
    .Range("B4:B500").ClearContents 'B-kolom ruim genoeg wissen
    .Range("B4").FormulaR1C1 = "=IF(ISERROR(RANK(RC[3],R4C5:R" & i & "C5,0)),"""",RANK(RC[3],R4C5:R" & i & "C5,0))" 'nieuwe formule in B4
    .Range("B4").Copy
    .Range("B4").Resize(i - 3, 1).PasteSpecial xlFormulas 'formule doorkopieren
    .Range("B3").Sort Range("B3"), xlAscending, Header:=xlYes 'sorteren op de B-kolom
    .Rows( 1 & ":" & i).Hidden = false
.Rows(i + 1 & ":500").Hidden = True 
 End With
  Application.Goto Sheets("deelnemers ranking").Range("A1")

End Sub
die userinterfaceonly:=true met je maar 1 maal voor een bepaald werkblad opzetten en dan onthoudt die dat wel. Dus bij de aanmaak van "deelnemers 51-100" zie je me daar die userinterfaceonly gebruiken, het tabblad is nu beveiligd voor de normale gebruikers, maar via de macros kan je onbeperkt stoeien zonder "unprotect" te gebruiken. Dat wil ik zeggen met eenmalig dat te gebruiken. Misschien leg ik het niet goed uit en begrijp je het beter als je de help leest.
__________________
bsalv
"Er gaat meer boven je petje dan eronder" Toon Hermans
Is je vraag afgehandeld, gelieve die dan op "opgelost" te zetten via de daarvoor voorziene knop
  #27  
Oud 1 January 2010, 14:06
Senior Member
 
Geregistreerd: 30 October 2009
Locatie: Venlo
Berichten: 503
Standaard

Citaat:
Oorspronkelijk geplaatst door dimmie Bekijk bericht
Als de wereldkampioen niet Nederland is staat er FOUT. en krijg je ook geen punten???

Of heb ik het fout...
Het is een kleine foutje dat is ontstaan bij het wijzigen van de toto-nummers (zie reacties poppino). Ik zal vanavond of morgen een nieuwe file uploaden waarin ik ook de nieuwe macro's van Bsalv heb gebruikt.

@ Bsalv; Hartstikke bedankt voor je hulp, je uitleg en je macro's
  #28  
Oud 4 January 2010, 19:42
Senior Member
 
Geregistreerd: 30 October 2009
Locatie: Venlo
Berichten: 503
Standaard

Citaat:
Oorspronkelijk geplaatst door bsalv Bekijk bericht
Code:
Zou je aub ook kunnen kijken naar het 'deelnemers ranking' tabblad? Dat de tabelgrootte aangepast wordt naar het aantal deelnemers (inclusief layout).
De ranking van de deelnemers gebeurt door die nieuwe macro "dataranking" al voor alle deelnemers, als je naar de formule in de B-kolom kijkt (bij >50 deelnemers) dan past hij zich netjes aan, anders moet je die rode "53," in de code schrappen.
Ik heb de dataranking geprobeerd, maar ik zit nu met het volgende;
In kolom C worden alle deelnemers id's opgehaald. In kolom B wordt voor iedere gevulde cel in kolom C een 'rank' getal ingevuld. Aan niet elk deelnemer id is echter een deelnemer gekoppeld..
  #29  
Oud 5 January 2010, 07:59
bsalv's schermafbeelding
Forum Guru
 
Geregistreerd: 26 March 2008
Locatie: Bachten de kupe, W-Vl, Belgie
Berichten: 5.975
Standaard

als er bovenin de deelnemers xx-yy geen naam staat in de 5e rij neemt hij de punten onderin niet meer mee. Vervolgens sorteer ik op het aantal punten in de E-kolom en pas dan het bereik voor die formule van rang aan de laatst gevulde cel van die E-kolom.
Beter zo ?
Code:
Sub DataRanking()
  Dim i As Integer, ikol As Integer, c As Range
  Dim data(1 To 500, 1 To 3) As Variant                    '500 is een beetje aan de ruime kant !!!

  'zoek alle werkbladen van het type "deelnemers xx-yyy"
  For Each BaseWks In Worksheets                           'loop alle werkbladen af
    splitsen = Split(LCase(BaseWks.Name), " ")             'knip naam werkblad in stukken volgens een spatie
    If splitsen(0) = "deelnemers" And UBound(splitsen) > 0 Then  'minstens 2 stukken en 1e stuk is deelnemers
      splitsen = Split(splitsen(1), "-")                   'knip 2e stuk in stukken volgens "-"
      If UBound(splitsen) = 1 Then                         'opnieuw 2 stukken
        If IsNumeric(splitsen(0)) And IsNumeric(splitsen(0)) Then  'beide stukken numeriek
          For ikol = 8 To 204 Step 4
            If BaseWks.Cells(5, ikol) <> "" Then           'er is een naam van de deelnemer ingevuld in de 5e rij, zoveelste kolom
              i = i + 1
              data(i, 1) = BaseWks.Cells(4, ikol)          'nr van de deelnemer staat in de 4e rij, zoveelste kolom
              data(i, 2) = BaseWks.Cells(5, ikol)          'naam van de deelnemer staat in de 5e rij, zoveelste kolom
              data(i, 3) = BaseWks.Cells(99, ikol + 2)     'punten van de deelnemer staat in de 5e rij, zoveelste kolom
            End If
          Next
        End If
      End If
    End If
  Next

  With Sheets("deelnemers ranking")
    .Protect userinterfaceonly:=True                       'macros mogen wijzigen zonder paswoord !!
    Set c = .Range("C4").Resize(UBound(data), UBound(data, 2))  'uitvoergebied bepalen
    c = data
    c.Sort Range("E4"), xlDescending, Header:=xlNo         'sorteren op de E-kolom 'sorteren op aantal punten (dalend)
    i = WorksheetFunction.Max(10, .Range("E" & Rows.Count).End(xlUp).Row)  'rijnummer van de laatste niet-lege cel in E-kolom met een min van 10
    c.Columns(1).Offset(, -1).ClearContents                'B-kolom ruim genoeg wissen
    .Range("B4").FormulaR1C1 = "=IF(ISERROR(RANK(RC[3],R4C5:R" & i & "C5,0)),"""",RANK(RC[3],R4C5:R" & i & "C5,0))"  'nieuwe formule in B4
    .Range("B4").Copy
    .Range("B4").Resize(i - 3, 1).PasteSpecial xlFormulas  'formule doorkopieren
    c.Columns(1).EntireRow.Hidden = True
    .Rows(1 & ":" & i).Hidden = False
  End With
  Application.Goto Sheets("deelnemers ranking").Range("A1")

End Sub
__________________
bsalv
"Er gaat meer boven je petje dan eronder" Toon Hermans
Is je vraag afgehandeld, gelieve die dan op "opgelost" te zetten via de daarvoor voorziene knop
  #30  
Oud 5 January 2010, 09:05
Senior Member
 
Geregistreerd: 30 October 2009
Locatie: Venlo
Berichten: 503
Standaard

Dit is bijna zoals ik hem hebben wil. Ik zie alleen nog een layout foutje.
Bij het sorteren van de deelnemers worden de celachtergronden meegenomen. Kunnen ook enkel de waarden in de cellen gesorteerd worden?

In kolom B blijft de layout overigens wel goed (zie bijlage).

EDIT: hij laat overigens niet altijd alle deelnemers zien met de dataranking macro. Ik heb het volgende gedaan:
1. Ik heb alle rijen zichtbaar gemaakt.
2. Deelnemers ophalen (108 stuks)
3. Dataranking laat zien tot regel 111 (dit klopt ook)
4. 2 tabbladen met deelnemers verwijderd.
5. Tabblad deelnemers 1 - 50 leeggemaakt.
6. Opnieuw deelnemers ophalen (108 stuks)
7. Dataranking laat dit keer zien tot regel 53.
Bijgevoegde afbeelding(e)
Bestandstype: jpg layout.JPG‎ (18,0 KB, 82x gelezen)

Laatst gewijzigd door antonh; 5 January 2010 om 09:32
 

Labels
wk 2010 excel


Discussietools
Weergave

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Aan



Ga terug   Worksheet.nl > Overig > Archief > PROJECT: WK Voetbal 2010



Alle tijden zijn GMT +1. Het is nu 05:57.


Forumsoftware: vBulletin®, versie 3.8.7
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0