Vraag : Excel/csv, bewegingsrijen aan een ander die blad op veranderende waarde in kolom wordt gebaseerd

Hallo vergt I één of andere hulp met het bewegen van kolommen in Excel.
I am niet een deskundige VBA/Macro alhough toen ik de code las, en achtervolgt fouten, begrijp ik wat doel is happening.

Our is informatie van het Csv- dossier in bijlage te vertalen en de waarden te zetten die wij in een XML file.

One van de problemen hebben gewenst die wij zijn tegengekomen zijn dat het Csv- dossier veelvoudige ordernumbers in één dossier bevat. Wij zouden verkiezen Excel te hebben of het blad per ordernumber.

Column C toont `inkooporder `u kunt zien dat de waarden in deze kolom verandert. ik zou van een stuk van code houden dat de rijen waar `inkooporder´ gelijk is, en pasts het aan een nieuw blad kopi�ërt waar sheetname ´inkooporder´ is.
So in het voorbeeld in bijlage het toont 10 verschillende inkoopordernumbers zodat zou dit tot 10 verschillende sheets.

in het eind leiden dat ik zou willen om in nieuwe rijen van een nieuwe CSV kopiëren, in werking stel de macro en het verwerkt opnieuw de nieuwe informatie.

hopefully een VBA/expert me kan helpen om één of andere code.

much appreciated
te bouwen

Antwoord : Excel/csv, bewegingsrijen aan een ander die blad op veranderende waarde in kolom wordt gebaseerd

Hallo,
Ik heb de problemen bevestigd u vond.  De volgende code zou nu veel beter voor u moeten werken:
Sub splitVersion2 ()

Schemerige lastOrder, inkooporder als Koord
Schemerige rowCount als Geheel

lastrow = [b65536]. Eind (xlUp). Rij
rowCount = 2
Kolommen („A: S“). Selecteer
    ActiveWorkbook.Worksheets („Sheet1“). Sort.SortFields.Clear
    ActiveWorkbook.Worksheets („Sheet1“). Sort.SortFields.Add Sleutel: =Range („C2: C34“) _
        , SortOn: =xlSortOnValues, Orde: Het =xlAscending, DataOption: =xlSortNormal
    Met ActiveWorkbook.Worksheets („Sheet1“). Soort
        .SetRange waaier („A1: S34“)
        . Kopbal = xlYes
        .MatchCase = Vals
        . Richtlijn = xlTopToBottom
        .SortMethod = xlPinYin
        . Ben van toepassing
        ActiveSheet.Cells (1, 1). Selecteer
    Eind met
lastOrder = 0
Voor I = 2 aan lastrow
    inkooporder = Bladen („Sheet1“). Cellen (I, 3)
    Als niet inkooporder = lastOrder toen
        Worksheets.Add (na: =Worksheets (1)). Naam = inkooporder
        Bladen („Sheet1“). Selecteer
        Cells.Select
        Selection.Copy
        Bladen (inkooporder). Selecteer
        Cells.Select
        Selection.PasteSpecial kleef: =xlPasteFormats, Verrichting: =xlNone, _
            SkipBlanks: =False, herschik: =False
        Waaier („A1“). Selecteer
        Voor x = 1 tot 19
            Bladen (inkooporder). Cellen (1, x) = Bladen („Sheet1“). Cellen (1, x)
        Volgende x
        rowCount = 2
    Eind als
    Voor x = 1 tot 19
        Bladen (inkooporder). Cellen (rowCount, x) = Bladen („Sheet1“). Cellen (I, x)
    Volgende x
    rowCount = rowCount + 1
    lastOrder = inkooporder
Volgende I
Bladen („Sheet1“). Selecteer
Waaier („A1“). Selecteer
Beëindig Sub
Andere oplossingen  
 
programming4us programming4us