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

meerdere sheets in 1 sheets plaatsen excel 2007

Status
Niet open voor verdere reacties.

deheugden

Terugkerende gebruiker
Lid geworden
1 mrt 2006
Berichten
1.088
ik heb 3excel bestandjes. al deze excel bestandjes bestaan uit 27 sheets. is er een mogelijkheid om per excel blad die 27 sheets in 1 sheet te zetten???

als we bijv. eens kijken naar het voorbeeld wat ik bijgesloten heb; daarin staan 3 sheets; sheet 1 tm 3. is het zo te regelen dat sheet 2 onder de data van sheet 1 komt te staan en sheet 3 daar weer onder???? let wel, mijn voorbeeld heeft geen data.
 

Bijlagen

Sorry maar ik begrjip het doel niet goed.

Wil je alles in 1 keer kunnen afdrukken?
Wil je alle gegevens van de verschillende sheets op 1 sheet krijgen?
 
het laatste;
alle gegevens van de verschillende sheets op 1 sheet krijgen
 
Ik heb even wat rond gegoogled en ben tot de conclusie gekomen dat hetgeen jij wil alleen met een VBA Macro te doen is.

Helaas heb ik geen Excel meer tot mijn beschikking dus kan ik jou hierbij niet helpen.

Maar der zijn nog genoeg anderen op het forum die je vast verder kunnen helpen.
 
Scheelt dat ik nu een laptop met Excel bij de hand heb :).

Ik heb wat code in VBA gemaakt, ik ben zelf geen wereldwonder met VBA maar het werkt. Hieronder de code en bijgelegen een voorbeeld Excel ding.
Code:
Public Sub samenvoegBladen()
    Dim koppelblad, beginBlad, eindBlad, beginRij, koppelRij, rij, i As Integer
    Dim vanKolom, totKolom, kolomUniek As String
    
    'Hieronder de nummers van de werkbladen
    'Let op er kan niet met namen gewerkt worden
    koppelblad = 1
    beginBlad = 2
    eindeBlad = ThisWorkbook.Sheets.Count
    
    'Hieronder de waarden mbt de gegevens op de werkbladen
    beginRij = 2
    koppelRij = 2 'Bij welke rij moet hij beginnen op het koppelblad
    vanKolom = "A"
    totKolom = "D"
    kolomUniek = "A" 'Dit is de kolom die altijd een waarde heeft
    
    i = beginBlad
    While (i <= eindeBlad)
        'Bepalen van de laatste rij van het actieve sheet
        rij = beginRij
        Do
            waarde = ThisWorkbook.Sheets(i).Range(kolomUniek & rij).Value
            rij = rij + 1
        Loop While (waarde <> "")
        
        'Bepalen wat nu de laatste rij is in het koppelblad
        Do
            waarde = ThisWorkbook.Sheets(koppelblad).Range(kolomUniek & koppelRij).Value
            koppelRij = koppelRij + 1
        Loop While (waarde <> "")
        koppelRij = koppelRij - 1
        
        'Kopieren van de gegevens
        ThisWorkbook.Sheets(i).Range(vanKolom & beginRij & ":" & totKolom & rij).Copy ThisWorkbook.Sheets(koppelblad).Range(vanKolom & koppelRij)
        
        i = i + 1
    Wend
End Sub

Let op deze code gaat wel uit van een paar dingen:
- De kolomformat van alle sheets is hetzelfde
- Er is minimaal 1 kolom waar altijd wat instaat
- Het blad waarop je het samenvoegt is leeggemaakt (anders worden de gegevens erbij onder gezet)

Dat laatste heb ik dus in het voorbeeld bestand niet gedaan (a). En toen had ik ondertussen ook even de code wat aangepast, maar het gaat nu wel gewoon goed.
 

Bijlagen

dank je

Dank je voor de snelle reactie.....:thumb:
Ik ga wel wat proberen, samen met een kennisje.....:o

De code zelf kan ik je niet geven.

Wel weet ik dat je met VBA met het shell dir commando een map kunt doorlopen.
Vervolgens zou je de factuur*.xls bestanden 1 voor 1 kunnen laten openen.
En dan via de sheet kopieerfunctie kopieer je het werkblad naar het algemene excelsheet.
Let op dat je elk werkblad wel een unieke naam geeft.

Je geeft zelf al aan dat je weinig kennis hebt van VBA, mogelijk dat iemand anders je dmv bovenstaande tips kan helpen.
 
@wully4u gaarne een eigen topic openen. Het is niet netjes om jou vraag in iemand anders zijn/haar topic aan de orde te stellen.
 
Beste huijb ;)

@wully4u gaarne een eigen topic openen. Het is niet netjes om jou vraag in iemand anders zijn/haar topic aan de orde te stellen.

Ik zie geen enkel vraag van wully4u hier staan in deze topic :D

Als je iets kan leren uit een andere topic is dit mooi meegenomen vind ik.


Groetjes Danny. :thumb:
 
Beste huijb ;)

Ik zie geen enkel vraag van wully4u hier staan in deze topic :D

Als je iets kan leren uit een andere topic is dit mooi meegenomen vind ik.

Groetjes Danny. :thumb:
Is inmiddels verwijderd.
 
Sorry

So sorry....leek mij aardig aansluiten bij het voorgaande en wat er niet netjes aan is ontgaat mij een beetje, maar dat zal zeker wel aan mij liggen.........

@wully4u gaarne een eigen topic openen. Het is niet netjes om jou vraag in iemand anders zijn/haar topic aan de orde te stellen.
 
Laatst bewerkt door een moderator:
Wat er niet netjes aan is staat duidelijk uitgelegd. Maar voor jou nogmaals: Graag een eigen vraag maken a.u.b. Het is niet netjes om in een ander zijn of haar vraag jouw probleem aan de orde te stellen. Bovendien is het verwarrend voor de helpers.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan