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

Excel bestand splitsen

Status
Niet open voor verdere reacties.

Josh2k4

Gebruiker
Lid geworden
13 aug 2015
Berichten
20
Goedendag,
ik heb één excel bestand met daarin informatie over diverse producten.
De data staat allemaal onder elkaar.
Nu moet er per artikel één los excelbestand komen, waarbij de bestandsnaam van het Excelletje gevuld wordt met het artikelnummer.

Zie bijlage voor een vereenvoudigd voorbeeld:
* er moeten dus drie bestandjes uitrollen: 1234.xls, 2345.xls en 34567.xls
* deze zijn gevuld met de gele, oranje en rode data.
* aantal rijen kan per bestandje verschillen

Ik hoop dat iemand mij kan helpen!

gr - Jos

Bekijk bijlage Test Splitsing Documenten.xlsx
 
Hoi Timshel,
helemaal top - doet exact wat ik nodig heb!
Ik zie dat je een tabblad hebt toegevoegd 'Sjabloon' en hier naar verwijst in de macro.
Is dit gewoon een lege map of zit hier nog wat speciaals bij/achter?

Ik ga proberen jouw oplossing in mijn datasheet te verwerken!

gr - Jos
 
'Sjabloon' is gewoon een leeg blad. Je kunt het eventueel opmaken zoals gewenst.
Als de oplossing naar tevredenheid is, wil je de vraag dan op opgelost zetten?
 
ok duidelijk!
Ik probeer je oplossing te integreren in mijn bestand, alleen daar zijn er lege regels binnen de data.
Hier gaat de macro volgens mij niet goed mee om?
Heb je hier een oplossing voor?
OFwel, hij moet alle rijen in één bestand zetten (ook lege) totdat hij opnieuw het woord 'CODE' tegenkomt
 
Dan kan er helaas geen gebruik gemaakt worden van die handige Areas.
Probeer het eens zo:
Code:
Sub tsh()
    Dim vCode
    Dim I As Long
    
    Application.ScreenUpdating = False
    With ThisWorkbook.Sheets("Blad1").UsedRange
        vCode = Application.Transpose(Evaluate("if(" & .Resize(, 1).Address & "=""CODE"",row(1:" & _
            .Rows.Count & "),""~"")"))
        vCode(UBound(vCode)) = .Rows.Count + 2
        vCode = Filter(vCode, "~", False)
        For I = 0 To UBound(vCode) - 1
            Sheets("Sjabloon").Copy
            .Range("A" & vCode(I) + 2).Resize(vCode(I + 1) - vCode(I) - 2, .Columns.Count).Copy
            ActiveSheet.Paste Destination:=Range("A1")
            Application.CutCopyMode = False
            ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & .Range("B" & vCode(I)) & ".xlsx", FileFormat:=51
            ActiveWorkbook.Close False
        Next
    End With
    Application.ScreenUpdating = True
End Sub
 
Laatst bewerkt:
Hoi Timshel,
schitterend! dit werkt perfect.

Dank voor je hulp!
 
excel bestand opslitsen in sheet per klant.

Hallo,

Ik ben op zoek naar een macro die vanuit een bronsheet, per klant een nieuwe excelbestand aanmaakt en opslaat zodat ik het vervolgens kan mailen. Ik ben zelf niet handig met excel, maar heb het een keer voor elkaar gehad ook via die forum, maar de HD waar het opstond is gecrast, en je raad het al geen backup, dus ik zit nu in de problemen, wie o wie helpt mij hier even mee?

Het bronbestand als bijlage bijgevoegd. De eerste vier regels moeten als tekstregel in de nieuwe bestanden komen en de bestanden kunnen de telernr als filenaam krijgen bv:

Voorraad_10134.xls

graag zsm even hulp
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan