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

Gegevens uit verschillende werkmappen in 1 map plaatsen

Status
Niet open voor verdere reacties.

stevenbaan

Gebruiker
Lid geworden
22 jan 2003
Berichten
140
Ik plaats deze vraag nog maar een keer, de vorige keer heb ik 'm als reactie op een andere (oude) vraag geplaatst. Iemand een idee?
als ik 50 werkbladen in excel met gegevens heb, hoe kan ik ze dan (mbv een macro?) in 1 werkblad krijgen, netjes onder elkaar. dus elk werkblad bestaat uit een zelfde aantal gegevens, bijv. in B3 staat in elke map de bedrijfsnaam en die wil ik dan allemaal in dezelfde kolom krijgen in 1 werkblad. Is dat mogelijk?

alvast bedankt voor de moeite.
 
Hallo

experimenteer wat met de volgende code:

Code:
Sub VerzamelSheets()
Dim sh As Worksheet
Worksheets("Verzameld").Columns("A").ClearContents
For Each sh In Worksheets
    If Not sh.Name = "Verzameld" Then
        Worksheets("Verzameld").Range("A65536").End(xlUp).Offset(2, 0) = sh.Name & ":"
        sh.Range("A1").End(xlDown).CurrentRegion.Copy _
            Worksheets("Verzameld").Range("A65536").End(xlUp).Offset(1, 0)
    End If
Next
End Sub

zie bijlage

Wigi
 

Bijlagen

Visual Basic is eigenlijk nieuw voor mij. Zou je me nog een beetje op weg willen helpen? De code die je stuurt werkt in principe heel goed, maar nu pak je alles tegelijk uit een map terwijl ik eigenlijk per cel aan wil geven waar die moet komen te staan (in de ene map). Hoe pas je dat aan? Heb er een voorbeeldje bij gedaan hoe ik het ongeveer wil hebben. Bedankt voor de moeite!
 

Bijlagen

stevenbaan zei:
De code die je stuurt werkt in principe heel goed, maar nu pak je alles tegelijk uit een map terwijl ik eigenlijk per cel aan wil geven waar die moet komen te staan (in de ene map). Hoe pas je dat aan?

Wil je met inputboxen werken en telkens aanduiden (met de muis) waar gegevens moeten komen? Of hoe had je het zelf gedacht dat je Excel wil laten weten wat waar moet komen?

Wigi
 
In principe zelf aangeven (denk ik). Dus uit werkblad 2 wil ik Cel B6 kopieren naar werkblad 1 Cel B2. wb2 cel B7 naar wb1 C2. wb2 E15 naar wb1 D2 enz.
dat moet dan voor elk werkblad (die allemaal verschillene namen hebben) kunnen.

de gegevens van de werkbladen staan nu dus allemaal willekeurig door elkaar. met behulp van een macro wil ik ze dan sorteren op naam, adres enz. en onder elkaar zetten. erg veel werk om handmatig te gaan zitten kopieren, maar wel belangrijk, vandaar.

Is het duidelijk zo?

Nogmaals bedankt voor je moeite
 
Steven,

is het patroon van de cellen die opgehaald moeten worden, steeds hetzelfde? Ik bedoel, kan ik gewoon de ranges opgeven zoals ik ze nu vind (voor elk werkblad) in het bijgevoegde bestand?
 
Ja, elk werkblad is precies hetzelfde opgebouwd. Dus bijv. de naam staat altijd in B3 ofzo. (toch nog een voordeel:rolleyes: )
 
Steven

zet deze code achter het blad Blad1. Verander bladnamen en bereiken indien nodig.

Code:
Sub VerzamelSheets()
Dim sh As Worksheet, nextRow As Long
Application.ScreenUpdating = False
With Worksheets("Blad1").Range("A1")
    .CurrentRegion.ClearContents
    .Offset(, 0) = "Naam"
    .Offset(, 1) = "Adres"
    .Offset(, 2) = "Postcode"
    .Offset(, 3) = "Plaats"
    .Offset(, 4) = "Eigenschap"
End With

nextRow = Application.WorksheetFunction.CountA(Columns("A")) + 1

For Each sh In Worksheets
    If Not sh.Name = "Blad1" Then
        With Range("A" & nextRow)
            .Offset(, 0) = sh.Range("A2")
            .Offset(, 1) = sh.Range("C3")
            .Offset(, 2) = sh.Range("C4")
            .Offset(, 3) = sh.Range("C5")
            .Offset(, 4) = sh.Range("E7")
        End With
        nextRow = nextRow + 1
    End If
Next
Application.ScreenUpdating = True
End Sub
 
wauw, echt super! nu kom ik er wel uit. de bladnamen hoef ik niet eens te wijzigen, die pakt ie automatisch. Hoef alleen de broncellen aan te passen.

Echt hartstikke bedankt, scheelt erg veel werk. Als ik nog een keer wat terug kan doen ;)

:thumb: :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan