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

Rijen kopieren naar nieuw werkblad ahv celwaarde

Status
Niet open voor verdere reacties.

oraluc

Gebruiker
Lid geworden
25 feb 2016
Berichten
29
Uit een bestand wil ik bepaalde rijen kopieren naar een nieuw werkbald.

Rijen zijn gesorteerd op filiaalnr. Per filiaal wil ik een nieuw werkblad maken met die rijen. De naam van het bestand moet dat nr. (kolom 2) bevatten.

Het liefst wordt er per filiaal (= nieuw werkblad) een totaal gemaakt van de laatste kolom.

Voorbeeldrijen:

2541711-1 114 30 16:50 17:50 Kassa Pc \ Software problemen 30-10-15 17:50 1:00 1:00 € 61,56 € 61,56
2501872 114 30 13:21 15:16 Kassa Pc \ Software problemen 30-10-15 15:16 1:55 2:00 € 123,12 1 € 179,47

Kan dit via een macro of anderszins?

Alvast bedankt.
 
Volgens mij kan dat, maar niet met jou voorbeeld te weinig gegevens
 
Een voorbeeld document.
 
Een voorbeeld excel bestand, dat mag liefs fictieve data bevatten, en eind resultaat hoe je het wilt hebben dat het er uit ziet
 
Ik heb een bestandje bijgevoegd.
Het 1e tabblad is de orginele lijst. In de tabbladen staat het resultaat. Dit moeten in real life aparte bestanden worden met de resp. naam.

Hopelijk weten jullie genoeg.

Luc
 

Bijlagen

Als je 50 filialen hebt of meer ,dan ben je wel even aan het zoeken naar dat bepaald filiaal,daarom zie mijn voorbeeld, nu voor 3 filialen, als er bijkomen gewoon onderaan de lijst bijvoegen en sorteren in tabblad validatie, op tabblad filter heb je dan alles naar wens.
 

Bijlagen

Ik heb het bestand bekeken en snap de werking.
Het is de bedoeling dat er per filiaal een nieuw bestand aangemaakt wordt . Nu moet ik alsnog alles copy/pasten.
Er zijn zo'n veertig filialen. Het bestand is al gesorteerd op filiaalnummer.
Logisch lijkt mij dat hij kijkt welke filiaalnummers er zijn, de regels per filiaal oppakt (kopieert) en in een nieuw bestand (met het filiaalnummer in de naam) zet en de bedragen totaliseert.
Als het lukt om de klomkoppen ook mee te nemen zou dat helemaal mooi zijn.

Alvast bedankt.
 
@ JeanPaul28 & jolivanes: bedankt voor de bijdrage. Ik heb de hele week buiten gewerkt en kan nu pas testen.
jolivanes komt dichtbij; van alle aanwezige filialen worden tabbladen gemaakt. Het is echter de bedoeling dat per filiaal een apart Excel-bestand wordt gemaakt dat naar elk filiaal gaat.

Overvraag ik jullie om de waardes in de kolom Totaal op te tellen en alle kolommen de juiste breedte (automatisch uitlijnen mag) te geven?

Luc
 
Is het de bedoeling dat de filialen de data kunnen/mogen veranderen?
Meestal is dat niet zo maar wie ben ik om dat te zeggen. Meeste gelijkwaardige excel problemen willen meest een PDF afgedrukt hebben.
 
Om van elk filiaal een nieuw bestand te maken kan je deze proberen

Code:
Sub VenA()
Dim ar, ar1, j, c00, c01
c00 = [COLOR="#FF0000"]"D:\Temp\"[/COLOR]
Application.ScreenUpdating = False
With Sheets("Blad1")
    ar = .[B4].CurrentRegion.Columns(2)
    For j = 2 To UBound(ar)
        If InStr(1, c01, ar(j, 1)) = 0 Then c01 = c01 & "|" & ar(j, 1)
    Next j
    ar1 = Split(Mid(c01, 2), "|")
    For j = 0 To UBound(ar1)
        .[A4].CurrentRegion.AutoFilter 2, ar1(j)
        .[A4].CurrentRegion.Copy
        With Workbooks.Add
            With .ActiveSheet
                .Paste
                .ListObjects.Add(xlSrcRange, .Cells(1).CurrentRegion, , xlYes).Name = "Tabel1"
                With ActiveSheet.ListObjects("Tabel1")
                    .ListColumns("Totaal").TotalsCalculation = xlTotalsCalculationSum
                    .ShowTotals = True
                End With
                .Columns.AutoFit
                .Name = [COLOR="#FF0000"]"Filiaal "[/COLOR] & ar1(j)
            End With
            .SaveAs c00 & [COLOR="#FF0000"]"Filiaal "[/COLOR] & ar1(j) & [COLOR="#FF0000"]Format(Now, " yyyymmdd hhmmss")[/COLOR] & ".xlsx"
            .Close
        End With
        [A4].CurrentRegion.AutoFilter 2
    Next j
End With
End Sub

De rood gemarkeerde code moet je even naar eigen gewenste dingen aanpassen.
 

Bijlagen

@VenA
Deze scheijnt het werk goed te doen.
Ik heb echter ondertussen een kolom toegevoegd. Filiaalnr staat nu in de derde kolom. Waar kan ik dat in de module aanpassen?
 
Zet het Filiaalnr weer in de tweede kolom dan hoef je niets aan te passen;)

Als er om een voorbeeldbestand gevraagd wordt dan graag een voorbeeld wat gelijk is aan het echte bestand. Alle code die je aangereikt gekregen hebt is specifiek voor deze layout gemaakt. Als je dan aan de layout gaat morrelen dan is het aan jou om uit te zoeken waarom het misgaat.

Zet in de VB editor <ALT> + <F11> het scherm lokale variabelen aan en gebruik foutopsporing om te zien welke waarden in 'ar' komen te staan en als je bij
Code:
.[A4].CurrentRegion.Copy
bent dan even switchen naar het werkblad en kijken op welke kolom er gefilterd wordt.
 
re

Was het leven maar zo simpel :confused:. De eisen veranderen waar je bij staat, maar ik snap je punt.
Kolom 1 en 2 horen bij elkaar, helaas.
Mijn simpele brein zei dat ik in de code ergens van kolom 2 kolom 3 moet kunnen maken. Kan dat alleen niet identificeren.

Het resultaat van de uitvoering is dat hij nu bestanden maakt op basis van kolom 2. Geen foutmelding.
Bijgevoegd bestand is de aangepaste versie. Dus alleen kolom 2 is toegevoegd (andere data)
Bekijk bijlage TMPII.xlsx

Als de resultaattabel op 'completion date' oplopend gesorteerd kan worden zou dat fijn zijn.

Alvast bedankt.
Luc
 
Waarom staat er geen code in jouw bestand? Je moet het bestand opslaan als.xlsm of xlsb. Anders wordt de code niet opgeslagen. Blijkbaar heb je mijn tip in #17 niet uitgevoerd. Anders had je kunnen zien van welke 2en je een 3 moet maken.
 
Na nog ff spelen heb ik een 2-tje in een 3-tje veranderd en kon zo met de juiste kolom werken.
Allen hartelijk dank voor de hulp. Ik ben een blij man.
Luc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan