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

Macro aanpassen , uitbreiding bereik

Status
Niet open voor verdere reacties.

Tjakko

Gebruiker
Lid geworden
6 okt 2010
Berichten
32
Beste Forum leden,

ik heb een automatisch sorterend schoonmaakrooster gemaakt met behulp van de forum leden hier , Tkint nog enorm bedankt hiervoor.
Nu wil ik dat een kolom die ik er aan toe wil voegen ook gesorteerd word, kolom K.
Ik heb totaal geen ervaring met Macro's en VBA en heb alles al geprobeerd in de Macro om de J's te veranderen in een K maar het werkt toch niet.\
Zou iemand mij hiermee kunnen helpen en uitleggen waarom hetgene wat veranderd moet worden daar veranderd moet worden.
Ik hoop dat ik het dan een beetje begin te begrijpen en er iets van kan leren.
Alvast enorm bedankt.

Groeten TjakkoBekijk bijlage schoonmaakrooster test.xlsm
 
Waarschijnlijk kan het nog korter

Code:
Sub Automatisch_Sorteren()
'
' Automatisch_Sorteren Macro
' Automatisch sorteren van kolom J met hoogste waarde bovenaan
'
' Sneltoets: Ctrl+f
'
With Sheets("blad1")
    lr = .Cells(Rows.Count, 1).End(xlUp).Row
    .Range("A3", "K" & lr).Sort Key1:=Range("J3", "J" & lr), Order1:=xlDescending
End With
End Sub

mvg
Leo
 
Laatst bewerkt:
bv.
Code:
Sub sorteer()
With Sheets("Blad1")
 .Cells(1).CurrentRegion.Offset(1).Sort .[j2], 2, , , , , , 1
End With
End Sub
 
Beste Leo,

hartelijk dank voor je reactie.
Zoals gezegd heb ik geen verstand van Macro's en VBA en hetgeen ik heb gedaan zal dus wel niet goed zijn aangezien het niet werkt.
Wellicht kun je aangeven wat ik verkeerd doe.
Ik heb mijn excelsheet geopend, bij ontwikkelaars op Macro's geklikt , vervolgens op bewerken geklikt , de oude code vervangen door de jou code en met het kruisje het veld gesloten.
Als ik nu een datum verander waarop iets voor het laatst gedaan is worden nog steeds alleen de kolommen A t/m J gesorteerd.
Ik denk dat ik iets elementairs fout doe met het opnemen/activeren van jou code in het bestand, ik weet alleen niet wat.
Zou je anders jou code in het bestand kunnen zetten en aangeven hoe ik dit had moeten doen.

Groeten Tjakko
 
Specifiek aan Leo gesteld?
 
Bij deze.

Alleen op de verandering van kolom D en de rij > 2.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Target.Row > 2 And Target.Count = 1 Then
 Cells(1).CurrentRegion.Offset(1).Sort [j2], 2, , , , , , 1
End If
End Sub
 
Beste Harry, Leo en de rest van het forum ;-)

beide codes werken wel met het juiste bereik, waarvoor dank, echter ik moet voor beide codes op Macro uitvoeren klikken voordat ze het doen.
Waarschijnlijk doe ik iets verkeerd, de bedoeling is dat wanneer de waarde in kolom D veranderd alle regels automatisch worden gesorteerd zonder dat ik nog iets hoef aan te klikken.
Kan iemand anders niet alleen code weergeven maar deze in het testbestand oploaden zodat ik zeker weet dat ik niks verkeerd doe.

Met vriendelijke groet

Tjakko
 
Beste HSV,

super dank je wel, ja dit werkt inderdaad perfect !
Ik ben er toch niet helemaal achter waar ik het fout doe.
Ga me maar wat meer verdiepen in de basis van VBA want hier begrijp ik duidelijk nog niet te veel van maar vind het wel enorm leuk.
Nogmaals enorm bedankt !
 
Graag gedaan en succes met de studie.

Ps. is ook leuk.
 
Beste HSV,

ik heb jou code in mijn originele werkblad geïmplementeerd , verschillende kolommen wil ik echter vergrendelen zodat personeelsleden hier niks in kunnen veranderen.
De code werkt dan echter niet meer, is er een manier dat ik bepaalde kolommen/cellen wel kan vergrendelen (werkblad beveiligen) maar dat de code wel werkt of is er een andere
manier dat ik dit kan oplossen ?

Groeten Tjakko
 
Zonder bestand zou ik zoiets kunnen verzinnen.
Tenminste als kolom D niet is beveiligd.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Target.Row > 2 And Target.Count = 1 Then
[COLOR=#0000ff] unprotect "wachtwoordhiertussendedubbelequotes"[/COLOR]
     Cells(1).CurrentRegion.Offset(1).Sort [j2], 2, , , , , , 1
 [COLOR=#0000ff]protect "wachtwoordhiertussendedubbelequotes"[/COLOR]
End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan