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

Rijen kopieren naar tabel met VBA

Status
Niet open voor verdere reacties.

Mark21

Gebruiker
Lid geworden
20 sep 2011
Berichten
17
Hallo,

Voor mijn werk ben ik bezig om twee aparte databases in één bestand te combineren tot één tabel, maar ik kom er niet helemaal uit. Zie bijlage voor een voorbeeld van wat ik graag wil.

Op sheet1 staat een tabel. Het aantal kolommen van deze tabel is altijd gelijk, maar het aantal rijen varieert.
Op sheet2 staat een tabel met dezelfde kolommen als op sheet1 maar met andere gegevens er in. Ook van deze tabel is het aantal rijen variabel.

Wat ik wil is het volgende:
De tabel op sheet2 moet automatisch gekopieerd worden naar de eerste lege rij onder de tabel op sheet1 zodat ik één tabel heb met alle gegevens. Indien er aan de tabel op Sheet1 een rij wordt toegevoegd (dit wordt gedaan door op rij6 een lege rij in te voegen) moet de tabel van sheet2 dus een rij naar beneden schuiven. Ook als er in de tabel op sheet2 iets wordt gewijzigd of toegevoegd moet dit worden verwerkt op sheet1.

Ik ben wat aan het knutselen geweest met een knop en op het moment is het gelukt om met klikken op deze knop de eerste regel van sheet2 aan sheet1 toe te voegen. Maar het is de bedoeling dat alle gegevens van sheet2 in één keer gekopieerd worden. Liefst automatisch zodra er een wijziging is op sheet2.

Kan iemand mij verder helpen?
Alvast bedankt!

Bekijk bijlage Excel test - Tabel Kopieren.xlsm
 
Mark,

Ik begrijp het niet helemaal. Waarom zou je de gegevens van sheet 2 naar sheet 1 kopiëren en daarna als er
op sheet 1 wat wordt gewijzigd deze ook willen aanpassen op sheet 2. Zelfs als er wat wordt veranderd op sheet 2
wil je dat op sheet 1 terug zien. Kopieer dan niet of kopieer wel maar verwijder dan sheet 2 en sta alleen mutaties
toe in sheet 1. Wil je ze later uit elkaar halen kan je altijd alsnog de gegevens van sheet 2 uit elkaar halen.

Veel Succes.
 
Kopieren van sheet 2

Mark,

Het geheel kopiëren van de tabel uit sheet 2 doe je met de volgende code.

Code:
Worksheets("Sheet2").Range("B2", Worksheets("Sheet2").Range("D2").End(xlDown)).Copy
Worksheets("Sheet1").Range("B6").End(xlDown).Offset(1, 0).PasteSpecial Paste:=xlPasteAll
Range("A1").Select

Veel Succes
 
Dank je! Ik heb de code onder de knop geplaatst en het kopiëren werkt prima. Maar als ik nu meerdere malen op de knop druk wordt de tabel uit sheet2 ook meerdere malen gekopieerd. Ik ben eigenlijk opzoek naar een oplossing die de eerdere kopie overschrijft, of die alleen de mutaties uit tabel 2 bijvoegt zodat ik alle resultaten maar éénmaal krijg.
 
Mark,

Je wilt dus eigenlijk eerst kijken of de gegevens van tabblad 2 al in tabblad 1 staan, en alleen als deze er zijn
dan toevoegen en anders niet.
Wat wil je dan precies met veranderingen die in tabblad 2 gemaakt worden? Hoe kun je weten of het een nieuw gegevens
is of dat het gegeven moet worden toegevoegd. Excel kan niet aangeven of een regel is toegevoegd of gewijzigd vanaf een
bepaalde datum.
Op sheet 1 stond al hond op de eerste regel met 3 en 6 als data.
Hier aan is van sheet 2 toegevoegd hond met 10 en 4 als data.
Als nu in sheet 2 de regel hond veranderd door de 10 in een 9 te veranderen. Hoe weet ik dan welke regel ik op sheet 1 moet vervangen?

Veel Succes.
 
Je hebt gelijk, het voorbeeld bestand dat ik in mijn hoofdpost heb staan klopt niet helemaal. Elke rij krijgt in kolom A een identiek volgnummer mee. Kortom, alleen de rijen uit sheet2 met een volgnummer dat in sheet1 niet voor komt moeten worden gekopieerd.
 
Mark,

wat is je achterliggende doel?
Als ik dit allemaal lees, denk ik: maak er 1 tabel van!
 
Het probleem is dat beide tabellen apart en ook samengevoegd nodig heb, maar ik heb een oplossing gevonden.
Ik voeg nu de 2e tabel in onder de 1e tabel m.b.v. een query. Het is misschien ietwat omslachtig, maar ik kom aardig in de buurt van wat ik wil bereiken dus ik ben tevreden.

In elk geval bedankt voor het meedenken! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan