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

ranges uit verschillende werkbladen onderelkaar kopieren naar 1 nieuw werkblad

Status
Niet open voor verdere reacties.

Sushike

Gebruiker
Lid geworden
4 sep 2009
Berichten
25
Hoi hoi,

Ik zit te zwoegen op volgende:

Ik heb in 1 werkboek verschillende werkbladen(1blad per maand). Elk werkblad heeft dezelfde layout. Elke maand worden verschillende rijen toegevoegd in het werkblad(met de naam van die maand). - 1factuur per rij
Eens de maand voorbij is, worden er geen rijen/facturen meer toegevoegd(in dat werkblad) maar kunnen er wel nog een veldjes veranderen.
Het aantal rijen per werkblad is verschillend en staat niet op voorhand vast.

Nu wil ik graag 1 overzichtsblad waar alle rijen onder elkaar komen te staan. Dus per werkblad de ingevulde rijen worden gekopieërd en onderelkaar geplakt in een nieuw werkblad. Ook als er velden veranderen moeten deze veranderingen mee doorkomen op het overzichtsblad. Dit mag perfect met behulp van een klik op een knop(moet niet persee telkens er verandering zijn automatisch aangepast worden).

Zelf had ik het volgende al geprobeerd, maar dit werkt maar 1 keer voor het plakken. Misschien zit ik gans op het verkeerde spoor?

Sub Macro_samenvoegen()
Application.ScreenUpdating = False
Worksheets("Oct10").Activate
LastRow = Worksheets("Oct10").Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(2, 1), Cells(LastRow, 13)).Copy
LastRow = Worksheets("Overzicht").Cells(Rows.Count, 1).End(xlUp).Row
Application.Goto Worksheets("Overzicht").Cells(LastRow + 1, 1)
ActiveSheet.Paste
'hier komen dan de andere maanden
Application.CutCopyMode = False
Application.Goto Worksheets("Overzicht").Cells(1, 1)
Application.ScreenUpdating = True
End Sub

Kan iemand me helpen en beter op weg zetten, het lukt me niet de oplossing te vinden.

Thanks!!
 
Ik heb hier zelf ook een poos op geploeterd.

Het is vast niet de beste manier, maar het werkt wel:

Code:
Sheets("jouwsheet").Activate
    Range("A2:H2500").Select
    Selection.AutoFilter
    FilterCriteria = Not Null
    Selection.AutoFilter field:=1, Criteria1:=FilterCriteria
    Selection.SpecialCells(xlCellTypeVisible).Select
    Selection.Copy
    Sheets("doelsheet").Activate
    Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    Selection.End(xlDown).Select
    Selection.End(xlDown).Select
    Selection.End(xlUp).Select
    ActiveCell.Offset(1, 0).Range("A1").Select
    Sheets("jouwsheet").Activate
    Selection.AutoFilter field:=1
    Selection.AutoFilter
    Range("A2").Select

Door deze code te herhalen voor alle sheets kun je alles importeren.
 
Laatst bewerkt:
Hoi Colin,

Bedankt voor de snelle reactie.

Ik heb je code onmiddellijk uitgetest en ze werk op 1 ding na...
Ik weet natuurlijk niet op voorhand hoeveel rijen ik op elke sheet ga hebben, dus ik kan geen vaste plaats ingeven waar de volgende pagina geplakt moet worden...

Als ik je code letterlijk herhaal voor alle sheets, plakt hij steeds weer op 1 vaste cel en zie dus enkel de inhoud van je laatste geplakte sheet.
op een of andere manier moet je de plaats van je volgende te plakken sheet kunnen bepalen. Met Lastrow of zoiets?

Enig idee?

Thanks
 
Ik heb deze twee regels er ook nog instaan, maar weet niet of dit het moet oplossen:
Code:
Application.ScreenUpdating = False
    Dim FilterCriteria
Aan het einde ook screenupdating true.

Anders zou ik het ook niet weten
 
In het volgende programma zit code die doet wat jij wilt.

Iedere keer wanneer je op de knop klikt "Maak Totaal Overzicht" worden de gegevens van de betreffende maanden opgehaald en geplaatst op het tabblad Totaal Overzicht.

Eerst wordt het tabblad leeggemaakt en vervolgens opnieuw gevuld.
 

Bijlagen

Beste superzeeuw,

Ik volg dit soort topics ook met veel aandacht, om mezelf VBA ook kundig te maken.

Wil je uitleggen, wat de "functie / bedoeling" is van getal 13 (oranje cel) en getal 1 (oranje cel) is in jouw code.

Sheets(x).Range([A2], Cells(LastRowCopy, 13)).Copy
Sheets("Totaal Overzicht").Cells(LastRowDest, 1).PasteSpecial

Alvast bedankt.

P.s. ik probeer niet in te "breken" op een vraag.
 
Laatst bewerkt:
beste oeldere,

de rode cijfers staan voor de kolommen

gr wim
 
als ik zelf dan een beetje verder had gekeken dan mijn neus lang is, had ik dit mogelijk zelf toch ook wel kunnen bedenken. :o

Wiki, bedankt voor je toelichting :thumb:
 
Ik zou ook iets zoals hierboven willen
ik heb dan ook geprobeerd het bovenstaand macrootje te gebruiken maar het lukt mij niet

Magazijn

Het is de bedoeling om elke dag onder mekaar te kopieren op een apart werkblad
En later nog eens alle maanden samen in een jaaroverzicht maar dit moet dan in een apart bestand komen
Ook moeten er datums bijgevoegd worden maar als die niet lukt kan ik dit nog wel anders oplossen

Dank bij voorbaat
 
Laatst bewerkt:
Ik zou een nieuwe vraag stellen en gebruik maken van de mogelijkheden op het forum om een bestand bij te sluiten.
Ik heb er geen behoefte aan om via een voor mij onbekende site een bestand te downloaden.

gr wim
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan