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

Verschillende sheets samenvatten naar 1 sheet

Status
Niet open voor verdere reacties.

Scallebe

Gebruiker
Lid geworden
29 okt 2014
Berichten
528
Beste ontwikkelaars,

Ik heb in mijn Excelbestand 5 sheets

"Apothekers", een draaitabel voor de Apothekers, "Kinesisten", een draaitabel voor de Kinesisten en een sheet "Alle CCF"

Ik zou nu de gegevens van de twee sheets "Apothekers" en "Kinesisten" in de sheet "Alle CCF" willen kopiëren met VBA.

Eigenlijk zijn er zes sheets maar eens ik weet hoe het werkt met 2 dan kan ik de VBA wel aanvullen voor de andere sheets.

De gegevens in de sheets Apothekers en Kinesisten beginnen telkens in A6 en zouden dus ook vanaf A6 in Alle CCF geplakt moeten worden.

Eerst alle rijen van de Apothekers zonder de "Lege rij" en onmiddellijk daar onder alle rijen van de Kinesisten ook zonder de "Lege rij".

Ik heb op het net en hier op HelpMij.nl naar een oplossing gezocht maar kon niet direct iets terugvinden waar ik mee verder kon.

Wie kan mij verder helpen.

Ik heb een gedeelte van mijn excel bestand meegestuurd. Je zal hier en daar wel een paar errors opmerken maar dat komt omdat ik een heel pak kolommen verwijderd heb en dus zo ook de formules. Ook de sheets met de draaitabellen heb ik verwijderd.

De oorspronkelijke sheets hebben 60 kolommen. Maar eens ik weet hoe het werkt dan kan ik de VBA wel aanpassen voor de 60 kolommen.

De file zou te groot geweest zijn om volledig mee te sturen.

Bekijk bijlage Test samenvatting.rar


Alvast bedankt

Pascal
 
Laatst bewerkt:
Ingepakt en van een wachtwoord voorzien schiet niet erg op als voorbeeldje. Over het samenvoegen van tabjes is genoeg te vinden. Zie voorbeeldje.
 

Bijlagen

  • Tabbladen Samenvoegen.xls
    48,5 KB · Weergaven: 37
VenA,

Sorry was het vergeten afzetten.

Ik ben met de code aan het knutselen en ik denk dat het mij wel zal lukken.

Als er iets is dan hoor je het wel.

Alvast bedankt

Hier is nog eens het bestandje

Bekijk bijlage Test samenvatting.rar

Groetjes

Pascal
 
VenA,

So far so good,


Hier is mijn code :

PHP:
Private Sub CommandButton22_Click()

Application.ScreenUpdating = False
SheetNames = Array("Apothekers", "Kinesisten", "MedGen", "Tandartsen", "Specialisten")

With Sheets("Alle CCF")
    .Range(.Range("CV6"), .Cells(.Rows.Count, 1).End(xlUp)).ClearContents
End With

For i = LBound(SheetNames) To UBound(SheetNames)
    With Sheets(SheetNames(i))
        .Range(.Range("CV6"), .Cells(.Rows.Count, 1).End(xlUp)).Copy Sheets("Alle CCF").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    End With
Next i
Application.ScreenUpdating = True

End Sub


Op de samengevatte sheet "Alle CCF" onderaan (9 rijen) zijn diverse cellen opgemaakt om totalen te berekenen. Die laatste 9 rijen moeten blijven, maar ze worden verwijderd door de

clearContents vermoed ik. Kan ik de ClearContents niet gewoon weglaten? Of hoe kan ik er voor zorgen dat de 9 laatste rijen blijven.


Groetjes

Pascal
 
Laatst bewerkt:
Je zou eens moeten checken, voor elke tab apart hoeveel rijen er moeten gecopiëerd worden.
Nu telt de code enkel de gebruikte rijen in één kolom en als dat niet de kolom is met de meeste rijen heb je problemen.
 
Anders lukt dit misschien:

Code:
Private Sub CommandButton22_Click()
 
Application.ScreenUpdating = False
SheetNames = Array("Apothekers", "Kinesisten", "MedGen", "Tandartsen", "Specialisten")
 
With Sheets("Alle CCF")
    .Range(.Range("CV6"), .Cells(.Rows.Count, 1).End(xlUp)).ClearContents
End With
 
For i = LBound(SheetNames) To UBound(SheetNames)
    With Sheets(SheetNames(i))
         .Range(.Range("CV6"), .Cells([COLOR="#FF0000"].Usedrange.rows.count[/COLOR], 1)).Copy Sheets("Alle CCF").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    End With
Next i
Application.ScreenUpdating = True
 
End Sub
 
Cobbe,

Mijn 5 sheets hebben dezelfde lay-out dus ook de sheet waar de samenvatting komt.

De eerste 5 rijen zijn titels en hoofdingen

Vanaf rij 6 de gegevens

En onder de laatse gegevensrij een blanco rij en dan komen 6 rijen met totalen voor verschillende kolommen.

Dus het aantal rijen varieert voor de 5 sheets

De sheet specialisten heeft altijd de meeste rijen.

Komt het in orde als ik de volgorde verander van deze regel :
PHP:
SheetNames = Array("Apothekers", "Kinesisten", "MedGen", "Tandartsen", "Specialisten")

Dus de specialisten eerst zetten?


Greetz

Pascal
 
Laatst bewerkt:
Heb je de code uit #6 getest?
 
Ontwikkelaars,

Kan er met volgende code ook gewerkt worden met filters?

Bv door middel van een Inputbox waar de waarde van de filter wordt ingevoerd. bv De waarde uit kolom 5 die moet gezocht worden vanaf cel 6. het aantal rijen is verschillend.

En op die manier enkel een samenvattende lijst geeft die voldoet aan die waarde? :confused:

Bedankt

PHP:
Private Sub CommandButton22_Click()
 
Application.ScreenUpdating = False
SheetNames = Array("Apothekers", "Kinesisten", "MedGen", "Tandartsen", "Specialisten")
 
With Sheets("Alle CCF")
    .Range(.Range("CV6"), .Cells(.Rows.Count, 1).End(xlUp)).ClearContents
End With
 
For i = LBound(SheetNames) To UBound(SheetNames)
    With Sheets(SheetNames(i))
         .Range(.Range("CV6"), .Cells(.Usedrange.rows.count, 1)).Copy Sheets("Alle CCF").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
    End With
Next i
Application.ScreenUpdating = True
 
End Sub

Greetz

Pascal
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan