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

Kopieren naar kolom met zelfde celinhoud

Status
Niet open voor verdere reacties.

stefano

Gebruiker
Lid geworden
22 mei 2004
Berichten
864
Ik heb een hoofdbestand GS_ALL.xls dat ik wil aanvullen met de gegevens van GS_2017.xls. De eerste rij van elk bestand bevat de omschrijving van de inhoud van elke kolom. Moeilijk aan dit gegeven is dat de inhoud van rij 1 (de kolomkoppen) van beide bestanden niet steeds overeenstemmen met elkaar. Gezien ik deze gegevens wekelijks moet samenvoegen (+10 bestanden) wou ik dit automatiseren via vba. In bijlage twee voorbeeldbestanden.

Als iemand kan helpen, graag.

dank alvast

Stefano

Bekijk bijlage GS_2017.xls

Bekijk bijlage GS_ALL.xls
 
Hoi,
Het gegeven van + 10 bestanden ontgaat mij een beetje 10 bestanden, één tabblad waarschijnlijk??)
Als je alle tabbladen kopieert naar het GS_ALL bestand kan je volgende gebruiken. Alles wordt netjes in de kolom gezet met dezelfde!! kolom naam.
(typ foutje in de kolom naam ent tzal nie marcheren zoals ze in Oudnaerde zeggen)
 

Bijlagen

  • GS_ALL-1.xlsb
    24,4 KB · Weergaven: 33
Ojee, Dotchie.

Neen geen tien tegelijk hoor. Telkens een bestand .....2017 waarvan de gegevens naar een verzamelbestand ....all gezet dienen te worden. Zo moet ik dit herhalen voor 10 andere 2017 en all.

sorry voor de verwarring.
 
OK, ondertussen getest en het werkt, alleen heb ik in mijn bestand meerdere tabbladen en dan gaat het fout. Ik vermoed dat de fout zich situeert in de regel

Code:
For Each sh In Sheets

Zou dit niet kunnen aangepast worden zodat er slechts sprake is van twee gedefinieerde sheets in het bestand ? Bv dat de code spreekt over overzetten van gegevens uit blad 'data' naar blad 'overzetten' ?

Hieronder de volledige code

Code:
Private Sub CommandButton1_Click()
Dim j As Long, jj As Long, jjj As Long, t As Long, ar, ar1, ar2
With Sheets("Overzetten")
    ar = .Rows(1).SpecialCells(2)
    For Each sh In Sheets
        If sh.Name <> "Overzetten" Then
            t = 1
            ar1 = sh.Cells(1).CurrentRegion
            ReDim ar2(1 To UBound(ar1), 1 To UBound(ar, 2))
            For j = 1 To UBound(ar, 2)
                For jj = 1 To UBound(ar1, 2)
                    If ar(1, j) = ar1(1, jj) Then
                        For jjj = 2 To UBound(ar1)
                            ar2(t, j) = ar1(jjj, jj)
                            t = t + 1
                        Next jjj
                        t = 1
                    End If
                Next jj
            Next j
            .Cells(.Rows.Count, 2).End(xlUp).Offset(1, -1).Resize(UBound(ar2), UBound(ar2, 2)) = ar2
        End If
    Next sh
End With
End Sub
 
Kan iemand van de moderators gast0660 informeren? Blijkbaar kan niemand me verder raad geven.

dank,

Stefano
 
Blijkbaar wil niemand een antwoord geven. Zelf wat onderzoek doen kan geen kwaad.

Code:
Sub VenA()
For Each sh In Sheets(Array("Sheet1", "Sheet3"))
  MsgBox sh.Name
Next sh
For Each sh In Sheets
  If sh.Name = "Sheet1" Or sh.Name = "Sheet2" Then MsgBox sh.Name
Next sh
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan