• 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 sorteren met invoercellen

Status
Niet open voor verdere reacties.

Yasmin

Gebruiker
Lid geworden
22 mei 2004
Berichten
184
Beste Excellers,

Ik wil een lijst met namen automatisch laten sorteren (A-Z) in kolom A
Kolom A zijn de namen
Kolom B zijn de omschrijvingen

Zodra ik nieuwe gegevens invul in cel A2 en B2 en enter geef in B2 regel 2 knippen naar bereik A3:B999 en dit automatisch sorteren (VBA code).

Ik heb wel een VBA code zie hieronder) die kolom A sorteert maar dan moet de invoer altijd op de onderste lege rij gebeuren maar dit wil ik in rij 2

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Range("A2:B999").Sort key1:=Range("A2")
End Sub

Kan iemand me helpen met de juiste code?
 
Laatst bewerkt door een moderator:
Efsix

Mijn probleem is in eerste instantie het invoeren van nieuwe data op rij 2.
Als ik nieuwe namen wil toevoegen en er staan er al 600 rijen met namen dat moet ik naar de eerste lege rij scrollen en daar de naam invoeren.
Zowel de VBA code en jouw oplossing werken goed om automatisch te sorteren alleen het probleem met invoer op rij 2 werkt niet want dan overschrijf ik de naam die daar al staat.

Met vriendelijke groet,
Yasmin
 
Laatst bewerkt:
Onderstaande code werkt alleen als cel B2 wijzigt.
Na de sortering wordt een cel ingevoegd bij A2 en B2.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2")) Is Nothing And Target.Count = 1 Then
    Range("A2:B" & Rows.Count).Sort key1:=Range("A2")
    Range("A2:B2").Insert
End If
End Sub

Met vriendelijke groet,


Roncancio
 
Roncancio

Dit is de oplossing! alleen zou het mooi zijn dat de cursor na het uitvoeren van de code in cel A2 staat i.p.v. A3
Is dit ook nog mogelijk?

Met vriendelijke groet,
Yasmin
 
Tuurlijk.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B2")) Is Nothing And Target.Count = 1 Then
    Range("A2:B" & Rows.Count).Sort key1:=Range("A2")
    Range("A2:B2").Insert
    Range("A2").Select
End If

Met vriendelijke groet,


Roncancio
 
Roncancio

Het werkt precies zoals ik wil.
Heel erg bedankt.

Yasmin
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan