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

Opgelost Automatisch naar rij na uitvoering Userform

  • Onderwerp starter Onderwerp starter JanBG
  • Startdatum Startdatum
Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

JanBG

Verenigingslid
Lid geworden
30 aug 2017
Berichten
971
Hallo,

Ik gebruik een Userform om een aantal gegevens (Voorletter, Naam, Geboortedatum, Geslacht, Behandelaar en Dossiernummer) in te voeren in een bestand. De code voor verwerken is als volgt:

Code:
Private Sub CommandButton3_Click()
If OB_01.Value = True Then TB_04.Text = "Man" Else TB_04.Text = "Vrouw"
If OB_01.Value = False And OB_02.Value = False Then MsgBox "Maak eerst uw keuze Geslacht?", vbCritical, "Fout"
With Sheets("Blad1")
        iRow = .Cells.Find(What:="*", SearchOrder:=xlRows, SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
        .Cells(iRow, 1).Resize(, 8).Value = Array(TB_06.Value, TB_05.Value, TB_01.Value, TB_02.Value, CDate(TB_03.Value), "=(TODAY()-RC[-1])/365.25", _
        TB_04.Value, LB_01.Value)
End With
Columns("C:C").Select
    ActiveWorkbook.Worksheets("Blad1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Blad1").Sort.SortFields.Add2 Key:=Range("D:D") _
        , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Blad1").Sort
        .SetRange Range("A3:K250")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    
Selection.NumberFormat = "0.0"
Columns("E:E").Select
    Selection.NumberFormat = "m/d/yyyy"
Selection.Rows.AutoFit
Unload Me
End Sub

Waar ik naar op zoek ben is een aanvulling op deze code waardoor de cursor naar de rij verplaatst wordt waar de nieuwe invoer is geplaatst.
 
voorbeeldbestandje vergeten of moeten we dat zelf maar maken?
 
Hoi,

Niet vergeten, maar dacht dat het misschien niet nodig was en het koste wat moeite om het te anonimiseren.
 

Bijlagen

@emields

Na herhaalde opmerkingen hierover kan je het nog steeds niet laten om vaste bereiken of hele kolommen te evalueren. Zoals deze waar jouw code na 500 rijen stopt met correct te werken.
Want wees eerlijk, wat betekenen 500 rijen op een totaal van 1miljoen+.

Code:
T_1 = Application.Max([blad1!a3:a500]) + 1

Je werkt met tabellen, maak dan ook gebruik van de objecteigenschappen om een code te schrijven die onder alle omstandigheden blijft werken. Hoe simpel kan het zijn.

Code:
T_1 = Application.Max(Blad1.ListObjects(1).DataBodyRange.Columns(1)) + 1

Of deze waarbij je in jouw code naar hele kolom verwijst voor een zoekactie.

Code:
.[a:a].Find(T_1, lookat:=xlWhole).Resize(, 11).Select

Simpel toch.

Code:
.ListObjects(1).DataBodyRange.Columns(1).Find(T_1, lookat:=xlWhole).Resize(, 11).Select

Van iemand met jouw staat van dienst verwacht ik toch beter.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan