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

2 pagina's samenvoegen

Status
Niet open voor verdere reacties.

repesteeltje

Gebruiker
Lid geworden
19 jul 2016
Berichten
5
Bijgevoegd heb ik excel sheet.

In de eerste 2 tabbladen komt een export uit een systeem van ons. Nu moet ik die 2 samen voegen tot 1 in het format van tabblad 3(overzicht)
Het probleem echter is dat de indeling en de kolomnamen verschillen van elkaar, anders had ik via gewoon knip en plakwerk het kunnen doen.

Hoe kan ik dit combineren?

Ik heb in de laatste tabblad aangegeven welke namen uit de andere tabbladen zich relateren tot de namen in tabblad 3

Ik hoop dat ik een beetje duidelijk heb omschreven.

Ik moet deze export elke dag doen en er zijn veel records, dus als het kan wat ik wil ben ik erg opgelucht.

Bekijk bijlage test.xlsx
 
Ik kom "tabblad 3 (overzicht)" niet tegen. Is dit het tabblad "projecten totaal"?
Aangekomen dat dit zo is: dan graag het tabblad handmatig invullen als voorbeeld.
De gegevens in tabblad 3 zijn nu lastig relateren aan de eerste 2 tabbladen.

Dus wat mij betreft: voorbeeld duidelijker maken.
 
Laatst bewerkt:
Ik kom "tabblad 3 (overzicht)" niet tegen. Is dit het tabblad "projecten totaal"?
Verder zou ik graag het tabblad handmatig ingevuld zien als voorbeeld.
De gegevens in tabblad 3 kan ik lastig relateren aan de eerste 2 tabbladen.

Dus wat mij betreft: voorbeeld duidelijker maken.

Bedankt dat je zo snel reageert.
Tabblad 3 is inderdaad projecten totaal

Ik heb in tab : projecten totaal onder de kolommen de namen gezet van de kolommen van de overige tabbladen die qua info overeenkomen.

Maakt het het zo iets duidelijker?
 
Voor dagelijkse handelingen kan je prima de macro recorder gebruiken om het geheel te automatiseren.
Je kan of de kolommen even in de goede volgorde zetten en dan kopiëren en plakken of het geheel inlezen in een array en dan de volgorde goed zetten.

Code:
Sub VenA()
With Blad3
    .Cells(1).CurrentRegion.Offset(1).Clear
    ar = Blad1.Cells(1).CurrentRegion
    ReDim ar1(1 To UBound(ar) - 1, 1 To 6)
    For j = 2 To UBound(ar)
        ar1(j - 1, 1) = ar(j, 1)
        ar1(j - 1, 2) = ar(j, 2)
        ar1(j - 1, 3) = ar(j, 3)
        ar1(j - 1, 4) = ar(j, 4)
        ar1(j - 1, 5) = ar(j, 8)
        ar1(j - 1, 6) = ar(j, 9)
    Next j
    .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(ar1), UBound(ar1, 2)) = ar1
    ar = Blad2.Cells(1).CurrentRegion
    ReDim ar1(1 To UBound(ar) - 1, 1 To 7)
    For j = 2 To UBound(ar)
        ar1(j - 1, 1) = ar(j, 2)
        ar1(j - 1, 2) = ar(j, 3)
        ar1(j - 1, 3) = ar(j, 1)
        ar1(j - 1, 4) = ar(j, 4)
        ar1(j - 1, 5) = ar(j, 12)
        ar1(j - 1, 6) = ar(j, 5)
        ar1(j - 1, 7) = ar(j, 9)
    Next j
    .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(ar1), UBound(ar1, 2)) = ar1
End With
End Sub
 
Bedankt voor je reactie, zo te zien doet het inderdaad wat het moet.

Ik begrijp uit jouw verhaal dait ik simpelweg bij de macro de record functie aan had kunnen zetten, dan de dingen doen die moesten en vervolgens de macro opslaan?

Ik maar moeilijk denken..
Nu wuil ik nog de regels in de macro proberen te begrijpen, dus wat wat doet..

Bedankt vast
 
De macro recorder neemt elk stapje letterlijk op. Op het bestandje van vandaag zal het prima werken. Op het bestandje van morgen waarschijnlijk niet omdat deze mogelijk meer rijen bevat. De opname geeft een goed startpunt voor als je niets/weing van VBA weet. Daarna is het een kwestie van opschonen en dynamisch maken.
Waar je een macro opslaat is geheel afhankelijk van hoe het bestand tot staand komt. Als het een tempate is waarin je elke dag nieuwe data zet dan sla je de macro op in de template. Je kan er ook een invoegtoepassing van maken of de macro opslaan in jouw Personal.xlsb.

Met <Alt> + <F11> kom je in de VB editor. Via beeld kan je locale variabelen aanzetten. Onder foutopsporing staan een aantal opties met hoe je door de code kunt wandelen.

Voor verdere uitleg; gebruik google:d
 
Wel jammer dat het wellicht niet werkt op het bestandje van morgen, zoals je nu zegt
Voor mij is het juist van belang dat ik het elke keer kan blijven gebruiken. Het aantal rijen varieert nl.
Elke dag een nieuwe macro maken is da net zoveel werk als het gewoon op de normale manier.
Helaasis dit dan niet de oplossing voor mijn vraag
 
Misschien is het goed dat je mijn hele reactie leest. Je kan natuurlijk ook aan diegene die jouw de data aanlevert even vragen om het in het gewenste formaat aan te leveren.
 
Data kan helaas niet in ander format
Je reactie heb ik helemaal gelezen, wellicht bij mij het onbreken van kennis dat ik het niet begrij
Sorry
Maar bedankt voor de reactie
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan