Automatisch rangschikken via een dataform.

  • Onderwerp starter Onderwerp starter DZP
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

DZP

Gebruiker
Lid geworden
26 feb 2007
Berichten
242
Code:
' Commandbutton 5
Sub Wijzigen_personeels_gegevens()
'
' Macro knop personeel wijzigen op het declaratie formulier.
'
    Application.ScreenUpdating = False
    Sheets(1).unprotect Password:="zeghetmaar"
    Sheets("Formulier reiskosten").Select
    ' Columns("A:I").Select
    ActiveSheet.ShowDataForm
[B][COLOR="Red"]Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
    Sheets("Formulier reiskosten").Select[/COLOR][/B]
    Sheets(1).Protect Password:="zeghetmaar"
    Sheets(2).Select
    Range("J4").Select
    Application.ScreenUpdating = True
End Sub
Nog een vraagje:
Als ik een nieuw persoon wil invoeren in een formulier, open ik het dataform en omdat het een nieuwe invoering is wordt hij onderaan de lijst ingevoerd, maar hoe kan ik hem door de macro aan te passen op alfabetische rangorde krijgen via automatische rangschikking op kolom B.(Natuurlijk moet hij dan de rijen automatisch meenemen).
(Het rode gedeelte is later ingevoerd en nu werkt alles alfabetisch).
 
Laatst bewerkt:
> Automatisch rangschikken via een dataform.

Dag DZP,

Je begint vanaf regel 1 te zieken of de naam die je wilt invoegen kleiner is dan de naam in de te lezen cel. Als deze rij is bereikt dan voeg je een nieuwe regel in het blad en plaats je je nieuwe gegevens op die regel.

Rows("x:x").Select
Selection.Insert Shift:=xlDown


Dit werkt natuurlijk alleen maar als de gegevens op je blad al alfabetisch staan geplaatst.

Gegroet,

Axel.
 
Je begint vanaf regel 1 te zieken
Ik hoop dat dit niet goed is:evil:
Ik wil dus graag het volgende:
Ik heb een tabblad met gegevens van mensen die alfabetisch staan.
Nu wil ik een nieuw persoon invoegen via een dataform (zie de bijlage),
De nieuwe gegevens komen nu op het tabblad onderaan de lijst te staan.
Omdat in het dataform bij nieuw, de scroll-balk automatisch naar de laatste plaats gaat.
Ik wil dus dat de nieuwe gegevens aan de hand van één bepaalde kolom alfabetisch in de lijst worden ingepast op het tabblad.
 

Bijlagen

> Automatisch rangschikken via een dataform. >

Dag DZP,

Ik begrijp dat je een Excel-bestand hebt waarin een dialoogvenster is geprogrammeerd.
Als je op de knop Nieuw klikt dan zet je de nieuwe gegevens in de velden en dat zet het programma de nieuwe gegevens on de eerstvolgende vrije regel van het tabblad.

Er zijn twee mogelijkheden:
1. Je wijzigd het programma achter het dialoogvenster.
2. Je maakt een macro die de laatste regel op alfabet in het tabblad zet.

Als je hulp wilt dan is het gemakkelijk als je het Excel bestand als attachment bijvoegd.

Gegroet,

Axel
 
Houwdie Axel,
Ik weet niet hoe het kan maar het dialoog-venster kan ik nergens vinden.
Maar ik wil graag gebruik maken van optie 2 (de aanpassing van de macro).
De macro staat in de eerste aanzet van dit item.
Ik weet alleen niet hoe ik de macro moet aanpassen dat hij dus ook gaat selecteren in het tabblad met de persoonsgegevens en dat hij de nieuwe gegevens op de juiste plaats deponeert in het tabblad gegevens.
Ik wil het bestand wel plaatsen maar het is te groot en te uitgebreid om aan te geven wat ik bedoel.
 
Axel,
Bedankt voor je hulp en je tijd.
Ik ben voor jouw tweede optie gegaan.
Ik heb in de eerste aanhef van dit item de macro verandert en nu werkt hij zoals ik hem graag wou hebben. Ik heb hem gemaakt en aangepast met de recorder, dus het is op zijn tijd toch wel handig.:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan