• 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 werblad alinea's sorteren met vba code

Status
Niet open voor verdere reacties.

Peer44

Gebruiker
Lid geworden
25 jan 2008
Berichten
224
Hallo,

in een werkblad lees ik een csv file in dit wordt eerst gesorteerd op naam.
daarna worden er 2 lege regels tussen gevoegd om blokken (alinea's) te maken per naam.

vervolgens moeten die alinea's weer worden gesorteerd op een andere kolom. het bereik is iedere keer anders afhankelijk van de geïmporteerde data.
max zal dit 1000 regels zijn, ik ben bezig geweest met de macrorecorder om het bereik (alinea) te sorteren.
dit lukt wel maar om nu over te stappen naar de volgende alinea is nog niet gelukt.

de volgende alinea begint altijd met een 2.

Code:
    Sub sort()
     
    For Each c In Worksheets("Blad1").Range("a1:a1000").Cells
        If (c.Value) = 2 Then
  
           With ActiveWorkbook.Worksheets("Blad1").sort
            .SetRange Range(ActiveCell.Offset(0, 10), Selection.End(xlDown))
            .Header = xlNo
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
        End If
        
   Next
      
 End Sub

kan iemand mij verder op weg helpen? in de bijlage is het de module "sorterenSUB"Bekijk bijlage test bestand.xlsm
 
In Excel denken in alinea's is een denkfout.
In Excel moet je denken in rijen(records) en kolommen(velden).
Maak desnoods een onderscheid tussen werkbladen die gegevens bevatten(records en velden) en werkbladen voor een bepaalde presentatie van die gegevens: draaitabellen, grafieken, overzichten.
 
Laatst bewerkt:
En als de enige reden om twee lege 'regels' in te voegen is omdat je witruimte wilt hebben tussen de alinea's, dan is dat een kwestie van de Rijhoogte goed in te stellen. Standaard heeft een cel een verticale uitlijning <Onder>, wat niet overdreven handig is. Je kunt die beter veranderen in <Boven>. Als je dan alle gebruikte rijen hoger maakt (naar eigen inzichten natuurlijk) heb je visueel je witruimte, maar blijft je gegevensgebied netjes in tact zonder lege rijen. Die je echt niet wilt in een gegevensbereik...
 
ok,

bedankt voor jullie opmerkingen, ik ga het met een draaitabel oppakken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan