Gegevens tabbladen samenvoegen en sorteren

Status
Niet open voor verdere reacties.

WWillems

Gebruiker
Lid geworden
25 nov 2015
Berichten
11
Op dit moment heb ik per afdeling een apart tabblad die ik uit een ERP systeem haal.
Per afdelings-tabblad wil ik graag een knop “plakken” en een knop “leegmaken”.
De bovenste regel moet altijd blijven staan, omdat daar de kolomindeling op is gebaseerd.
Op tabblad “totaal” moet een knop komen die de gegevens uit alle tabbladen samenvoegt op dit tabblad. Deze moeten ook op volgorde van einddatum worden gezet.
Daarnaast wil ik graag een een knop “leegmaken” komen die ook dit tabblad weer leegmaakt, op de bovenste regel na.

Ik hoor het graag of iemand dit voor mij kan realiseren, want ik kom er niet uit.
Bekijk bijlage 20160202 Achterstand test.xlsx
 
Om alles in één keer samen te voegen

Code:
Sub VenA()
For Each sh In Sheets
    If sh.Name <> "Totaal" Then
        With sh.Cells(1).CurrentRegion.Offset(1)
            .Copy Sheets("Totaal").Cells(Rows.Count, 1).End(xlUp).Offset(1)
            .ClearContents
       End With
    End If
Next sh
With Sheets("totaal")
    For Each cl In .Columns(11).SpecialCells(2)
        cl.Value = Format(Replace(cl.Value, ".", "-"), "mm-dd-yyyy")
    Next cl
    .Cells(1).CurrentRegion.Sort [K1], , , , , , , 1
End With
End Sub
 
We zijn er bijna

VenA,

Dank je wel!

Ik heb het bestand nu bijna zoals ik wil hebben.
Alleen blijft hij de knoppen van de tabbladen 525-535-555-enz. mee kopiëren naar het tabblad totaal.
Is er een code die zorgt dat de knoppen niet mee gekopieerd word? of dat er niet naar kolom A gekeken wordt?
Bekijk bijlage 20160205 Achterstand test.xlsm
 
Nou ja, bijna....

Code:
Sub Knop1_Klikken()
    For Each sh In Sheets
        If sh.Name <> "Totaal" Then
            With sh.Cells(1).CurrentRegion.Offset(1, 1)
                Sheets("Totaal").Cells(Rows.Count, 2).End(xlUp).Offset(1).Resize(.Rows.Count, .Columns.Count) = .Value
           End With
        End If
    Next
    
    sn = Sheets("totaal").Columns(11).SpecialCells(2)
    For j = 2 To UBound(sn)
       sn(j, 1) = CDate(Replace(sn(j, 1), ".", "-"))
    Next
    
    Sheets("totaal").Columns(11).SpecialCells(2) = sn
    Sheets("totaal").Cells(1).CurrentRegion.Sort [K1], , , , , , , 1
End Sub
 
Tja,
Als het het voorbeeldje waar ik op reageerde geen knoppen bevat.....
 
Beide bedankt voor de moeite,
Ik heb er in ieder geval weer wat van geleerd!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan