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

Bepaalde gegevens uit verschillende tabbladen kopieren naar één tabblad

Status
Niet open voor verdere reacties.

Boogschutter

Gebruiker
Lid geworden
10 jan 2008
Berichten
6
Hallo mensen,

Ik heb 6 excel bestanden en elk bestand bevat 150 tabbladen. De tabbladen zijn zo gestructureerd dat ze precies dezelfde opmaak hebben. Nu wil ik bepaalde gegevens uit de tabbladen kopieren naar één tabblad. In de bijlage heb ik een voorbeeld van een tabblad waaruit ik de gegevens wil kopieren naar één tabblad (excel.jpg). Met rood heb ik de gegevens of cellen, die gekopierd moeten worden naar ander tabblad, rood gemarkeerd. Zoals in de tweede afbeelding (excel2.jpg) zou ik dan de resultaten/kopiën willen hebben.
Heeft iemand hiervoor een macro?


Alvast bedankt.
 

Bijlagen

  • excel.JPG
    excel.JPG
    90,3 KB · Weergaven: 179
  • excel2.JPG
    excel2.JPG
    78,3 KB · Weergaven: 149
Laatst bewerkt:
Boogschutter

Code:
Sub MainModule()

    Application.ScreenUpdating = False
    
    Call Do1File("C:\files\file1.xls")
    Call Do1File("C:\files\file2.xls")
    Call Do1File("C:\files\file3.xls")
    Call Do1File("C:\files\file4.xls")
    Call Do1File("C:\files\file5.xls")
    Call Do1File("C:\files\file6.xls")
    
    Application.ScreenUpdating = True

End Sub

Sub Do1File(sFile As String)

    Dim wb As Workbook
    Dim i As Integer
    
    Set wb = Workbooks.Open(sFile)
    
    If Not wb Is Nothing Then
    
        For i = 1 To wb.Worksheets.Count
        
            With ThisWorkbook.Sheets(1).Range("A" & Rows.Count).End(xlUp).Offset(1)
            
                .Offset(0, 0).Value = wb.Sheets(i).Range("C9").Value
                .Offset(0, 1).Value = wb.Sheets(i).Range("G8").Value
                
                wb.Sheets(i).Range("D19:L19").Copy
                .Offset(0, 2).PasteSpecial xlValues
            
            End With
            
        Next i
    
    End If
    
    wb.Close False

End Sub

Zet dit in een module van het bestand waar de output komt.

Verander indien nodig de 1 in With ThisWorkbook.Sheets(1)

Dit zegt dat de output in het eerste tabblad van dat bestand terecht komt.

Vervolgens zet je het pad en de bestandsnaam van de 6 files en voer je die bovenste macro uit.

ongeteste code

Wigi
 
:thumb: Wigi, je bent mijn held!! Het werkt perfect!!!! WOW!

Ik had nog een vraagje.

Nu heb ik 236 excel files die allemaal dezelfde opmaak hebben (zie zip bestand bijlage 1). Die excel-files zijn vanuit pdf-files geconverteerd naar excel en het probleem is nu dat ik geen grafieken kan maken van deze 236 excel-files. Het icoontje om grafieken te maken is op de een of andere manier uitgeschakeld en kan er helemaal niks mee. Dus moet ik alle 236 files één voor één gaan kopieren naar 236nieuwe files zodat ik grafieken kan maken, want dan is het grafiek-icoontje opeens wel ingeschakeld en kan ik grafieken maken. (Het is niet zo dat ik alle 236 files in een excel-bestand wil samenvoegen, maar juist 236 nieuwe files).Nu snap je dat dit nogal tijdrovend is en ik zou graag een macro willen schrijven om alle werkbladen van de 236 excel files te kopieren naar nieuwe werkbladen van 236 nieuwe excel files. In de macro wil ik ook dat er grafieken worden getekend. Op de x-as zou ik dan sample date willen en op de y-as de 9 verschillende gassen zoals in bijlage 2. De laatste 4 gassen (CO, CO2, O2, en N2) wil ik in een nieuw grafiek omdat de waarden veel hoger liggen tov de rest van de gassen. Zie zipbestand bijlage 2. Bovendien zijn de grafieken in hetzelfde werkblad weergegeven, maar ze mogen ook op een apart werkblad worden gemaakt.

Ik ben je enorm dankbaar! :thumb::thumb:
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan