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

samenvatting maken van excel doc met merschillende tabbladen

Status
Niet open voor verdere reacties.

zigloxx

Gebruiker
Lid geworden
23 feb 2014
Berichten
9
Hallo

Ik heb een excel document van wielerwedstrijden.
Iedere wedstrijd heeft zijn verschillend werkblad binnen het document.
De opmaak van deze werkbladen is telkens dezelfde:
3 kolommen: naam renner - positie (uitslag) - punten

Nu zou ik van dit document een samenvatting willen maken:
Iedere renner die in het document voorkomt, met zijn respectievelijke posities en het totaal aantal punten die hij doorheen de verschillende wedstrijden heeft behaald.

Alvast bedankt voor de hulp!
 
Laatst bewerkt:
Zonder een voorbeeld document zul je hierop alleen antwoorden krijgen die de basis van Excel beschrijven en het lijkt me dat je meer concrete uitleg wilt hebben.
 
Voila, bestand in bijlage.

Dus je hebt de verschillende werkbladen.
Ik zou willen dat ik een soort samenvatting, rapport krijg van alle renners in het document, samen met hun respectievelijke posities (eventueel met de respectievelijke wedstrijd (=tabblad) erbij) en het toaal aantal punten ze over de verschillende wedstrijden hebben verdiend.

THX!
 

Bijlagen

Alvast bedankt!

Maar wat ik nu heb is een overzicht van de verschillende wedstrijden (tabbladen) in één tabblad.
Wat ik eigenlijk wil is een overzicht per renner, met zijn plaats (positie) in de verschillende wedstrijden en zijn totaal aan punten verdiend over de verschillende wedstrijden.
Dus per renner 1 lijn ahw met zijn uitslagen en totaal punten.

Waarschijnlijk bedoel jij dat dit mogelijk is met draaitabellen maar ik ben een leek als het gaat over excel, dus ...
 
Laatst bewerkt:
Even een tab toegevoegd "Dt_Samenvatting" Nu staan de gegevens per renner op één rij. Ik weet niet hoe jij de data verzameld maar de namen van de renners zijn nogal eens verschillend bv Peraud Jean-Christophe komt twee keer voor. één keer goed en één keer met een spatie achter de naam. Dus dit zal je eerst moeten opschonen.

Nb. Ik heb even veel data weggegooid omdat het anders niet te uploaden is. Maar het gaat even om het idee.
 

Bijlagen

Ja, zoiets zou het moeten worden.
Ik wis dan wel enkele kolommen die niet nodig zijn, zoals de kolom 'eindtotaal min'.
En kun je mij eens meegevne hoe je tot deze tabel kwam? Dan kuis ik het originele bestand op (namen) en probeer het eens op het volledige werkblad.

Ik dacht ook een sort te doen op één van die kolommen (Eindtotaal RACE_RESULT) maar dat was blijkbaar niet mogelijk?

Muchos gracias alvast!
 
Druk op <ALT> + <F11> je komt dan in de VB-editor Dubbelklik op Blad1(samenvatting) en je ziet de code die onder de knop staat. Er wordt gekeken hoeveel tabjes er in het bestand staan en hoeveel regels er per tabje staan. Deze worden nu cel voor cel overgehaald naar de tab "Samenvatting" Dit kan normaal gesproken sneller/korter maar omdat je data niet consequent is, de ene keer staan de uitslagen als numeriek en de andere als tekst, heb ik voor deze oplossing gekozen.

Code:
.Cells(dr, x) = Sheets(i).Cells(j, x).Value * 1
maakt van de als tekst weergegeven getallen een getal.
 
Sorry om een nitwi te zijn in deze maar:

Via <ALT> + <F11> kom ik inderdaad in die VB editor terecht. En daar zie ik inderdaad die code staan.
Goed, maar als ik in het eerste document die ik jij me terugstuurde, op de knop 'SAMENVOEGEN' klik gebeurt er niets.
Ik krijg in ieder geval niet de tabel die jij dan in het tweede document verkreeg, die verkorte versie laat ik maar zeggen.
Ik had nu graag die tabel die jij verkreeg in de tweede verise die je me toestuurde graag verkregen op mijn volledig werkblad.
Hoe doe ik dat dan?

Sorry, maar VB en stuff is Chinees voor me. Ik heb enkel een portie gezond boerenverstand :).
Enfin, thx for being patient ...
 
Goed, maar als ik in het eerste document die ik jij me terugstuurde, op de knop 'SAMENVOEGEN' klik gebeurt er niets.

Maar wat ik nu heb is een overzicht van de verschillende wedstrijden (tabbladen) in één tabblad.
Dus blijkbaar heeft de code het wel gedaan.

Plaats anders even een voorbeeldje met alle kolommen. Dus niet het hele bestand maar alleen een bestand met een volledig werkblad.
 
Helaas, ik begrijp niet waar je tegen aan loopt. Dus als je iets duidelijker kan zijn dan is dat welkom.
 
Even een tab toegevoegd "Dt_Samenvatting" Nu staan de gegevens per renner op één rij. Ik weet niet hoe jij de data verzameld maar de namen van de renners zijn nogal eens verschillend bv Peraud Jean-Christophe komt twee keer voor. één keer goed en één keer met een spatie achter de naam. Dus dit zal je eerst moeten opschonen.

Nb. Ik heb even veel data weggegooid omdat het anders niet te uploaden is. Maar het gaat even om het idee.

Hier heb je me de file teruggestuurd met het tabblad 'Dt_samenvatting'. En dit is inderdaad wat ik bedoel. Maar je hebt zoals je aanhaald, veel data weggelaten. En nu zou ik graag weten hoe ik hetzelfde tabblad 'Dt_Samenvatting' kan verkrijgen op alle data van mijn volledig document. Want dat is me nog niet duidelijk.

Op dat werkblad (DT_Samenvatting) probeerde ik kolommen te verplaatsen of kolommen te sorteren en dat lukte ook niet. Dat had ik ook graag gedaan want dan kan ik alle resultaten (de kolommen Omlooop min, PN1 min, etc) naast elkaar zetten en alle punten (Race Results) ook naast elkaar zetten. En ik zou dan een sort willen uitvoeren op Eindtotaal Race Results.
 
Laatst bewerkt:
Code:
Sub samenvoegen()
    Dim x%, c As Range, cl As Range
    With CreateObject("scripting.dictionary")
        For x = 1 To Sheets.Count
            For Each c In Sheets(x).Columns("A").SpecialCells(xlConstants)
                If c.Row > 1 Then
                    If Not .exists(c.Value) Then
                        .Add c.Value, CInt(c.Offset(0, 1).Value) & "|" & CInt(c.Offset(0, 2).Value)
                    Else
                        .Item(c.Value) = .Item(c.Value) & "|" & CInt(c.Offset(0, 1).Value) & "|" & CInt(c.Offset(0, 2).Value)
                    End If
                End If
            Next
        Next
        If .Count Then
            Sheets.Add.Name = "Samenvatting"
            Range("A2:AP" & Cells(Rows.Count, 1).End(xlUp).Row).ClearContents
            Range("A2").Resize(.Count).Value = Application.Transpose(.Keys)
            Range("B2").Resize(.Count).Value = Application.Transpose(.items)
            Columns(1).AutoFit
        End If
    End With
    For Each cl In Range("B2:B" & Cells(Rows.Count, 2).End(xlUp).Row)
        cl.Resize(, UBound(Split(cl, "|")) + 1) = Split(cl, "|")
    Next
End Sub
 
Merci, Rudi, ik probeer uit te zoeken hoe ik die code toepas. We komen er wel ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan