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

Automatisch rijen sorteren na veranderen van waarde in kolom

Status
Niet open voor verdere reacties.
Zet dit in de module van Blad1

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 And Target.Column = 3 And Target.Count = 1 Then
    Application.EnableEvents = False
    Cells(1).CurrentRegion.Sort [c1], 2, , , , , , True
    Application.EnableEvents = True
End If
End Sub
 
Hartelijk dank voor je snelle reactie

Ik probeer het voorbeeld te vertalen naar mijn opdracht:

De te sorteren lijnen staan van A16 tem CK1016.
De waarden, waarop gesorteerd wordt, staan in kolom J16 tem J1016 (10e kolom)

Wordt dit dan de code?


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 15 And Target.Column = 10 And Target.Count = 1 Then
Application.EnableEvents = False
Cells(1).CurrentRegion.Sort [c1], 2, , , , , , True
Application.EnableEvents = True
End If
End Sub

Moet ik de code alsvolgt invoegen?
Extra macro visual basic editor
VBP Project : hier tab selecteren
code hierin copieren (en bovenaan nog veranderen van algemeen naar worksheet?)
Dan opslaan als xlsb?

Werkt de code dan enkel als je doc heropent?
 
Gebruik svp codetags. Probeer het eerst maar eens uit op het voorbeeldbestandje dan zie je wat er gebeurt.

Code:
Cells(15,1).CurrentRegion.Sort [J15], 2, , , , , , True
zal het waarschijnlijk moeten worden in het echte bestand.
 
Het lukt niet.
De lijnen zouden automatisch moeten worden gesorteerd van zodra er een waarde in kolom J wordt geupdate (dus na enter)
Note: de rijen gaan van A18 naar CK1018 (dus 80 kolommen)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 1 And Target.Column = 18 And Target.Count = 1 Then
Application.EnableEvents = False
Cells(18, 1).CurrentRegion.Sort [J1], 2, , , , , , True
Application.EnableEvents = True
End If
End Sub
 
Sorteren op J1 lijkt mij niet logisch.

Plaats het bestand even met hoe het werkelijk in elkaar steekt. De bereiken wijzigen nogal in de verschillen berichten.

Nb. Gebruik codetags.
 
Bekijk bijlage test autom sorteren.xlsx
Beste,
dit is het document
Dus:
Graag zou ik volgende automatiseren:
Van zodra er een cel wordt geupdate in kolom J (cellen vanaf J 18 tem J1018) moeten de rijen automatisch worden gesorteerd (anti-alfabetisch)
Note: de rijen lopen van A18 tem rij CK1018
Nogmaals hartelijk dank
en mijn excuses voor de verwarring
 
Het is wel zo handig als je een bestand plaatst met de code erin.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 17 And Target.Column = 10 And Target.Count = 1 Then
    Application.EnableEvents = False
    Cells(17, 1).CurrentRegion.Sort [j17], 2, , , , , , True
    Application.EnableEvents = True
End If
End Sub
 
Super. Dit lukt.
Nog een laatste vraag: is het mogelijk om die automatische sortering ook te gebruiken in een tab, die beveiligd is?
 
Dat kan bv zo
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Unprotect
If Target.Row > 17 And Target.Column = 10 And Target.Count = 1 Then
    Application.EnableEvents = False
    Cells(17, 1).CurrentRegion.Sort [j17], 2, , , , , , True
    Application.EnableEvents = True
End If
Protect
End Sub

Achter protect en unprotect kan je eventueel een wachtwoord opgeven.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan