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

Bij enter automatisch cellen overslaan.

Status
Niet open voor verdere reacties.

Jacob01

Gebruiker
Lid geworden
7 feb 2009
Berichten
65
Ik heb een excel document met invulvelden in rij A B en D.

Nu wil ik graag dat als ik A2 invul de enter naar cel B2 gaat.
Als ik B2 ingevuld heb wil ik naar rij D2. (dus C2 overslaan).

Als ik D2 ingevuld heb, naar A3 enter----B3----D3-------A4----------B4-------D4--------A5. etc.

Hoe kan ik zorgen dat die cellen worden overgeslagen.
 
Plaats onderstaande code achter het betreffende blad. In Array zet je de te volgen celvolgorde.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static lastCellIndex As Integer
    Dim Addresses_InOrder As Variant
    If Target.Count = 1 Then
        Addresses_InOrder = Array("$A$1", "$F$5", "$B$12", "$A$6")
        lastCellIndex = lastCellIndex + 1
        If lastCellIndex > UBound(Addresses_InOrder) Then _
        lastCellIndex = LBound(Addresses_InOrder)
        If lastCellIndex < LBound(Addresses_InOrder) Then _
        lastCellIndex = LBound(Addresses_InOrder)
        Application.EnableEvents = False
        Range(Addresses_InOrder(lastCellIndex)).Select
        Application.EnableEvents = True
    End If
End Sub

Mvg

Rudi
 
Plaats onderstaande code achter het betreffende blad. In Array zet je de te volgen celvolgorde.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static lastCellIndex As Integer
    Dim Addresses_InOrder As Variant
    If Target.Count = 1 Then
        Addresses_InOrder = Array("$A$1", "$F$5", "$B$12", "$A$6")
        lastCellIndex = lastCellIndex + 1
        If lastCellIndex > UBound(Addresses_InOrder) Then _
        lastCellIndex = LBound(Addresses_InOrder)
        If lastCellIndex < LBound(Addresses_InOrder) Then _
        lastCellIndex = LBound(Addresses_InOrder)
        Application.EnableEvents = False
        Range(Addresses_InOrder(lastCellIndex)).Select
        Application.EnableEvents = True
    End If
End Sub

Mvg

Rudi


Beste Rudi,

Dank voor je antwoord maar waar moet ik deze code invoeren?
Ben echt een leek in excel wat deze code's betreft.
Is het niet mogelijk bepaalde cellen/rijen te selecteren en dan instellen dat die overgeslagen worden als ik op enter druk?

Groet,

Jacob
 
Beste Jacob01

In de opies kan je dit aanpassen van zodra je ENTER toets indrukt dat je verspringt naar rechts.

In excel 2003 ga naar EXTRA - OPTIES - BEWERKEN - selectie verplaatsen na ENTER en zet dit op naar RECHTS.

In excel 2007 ga naar OFFICEKNOP - OPTIES VOOR EXCEL - GEAVANCEERD - OPTIES VOOR BEWERKEN - selectie verplaatsen na ENTER en zet dit op naar RECHTS.

Dit is dan geldig in alle excel bestanden !!!

Groetjes Danny. :thumb:
 
Beste Jacob1,

Wat je kunt doen is de beveiliging van deze cellen eraf halen en dan het werkblad beveiligen.
Opmaak > Celeigenschappen > Beviliging > 'Geblokkeerd' afvinken. OK.
Extra > Beveiliging > Werkblad beviligen. OK
Je kunt dan na invoer op Tab klikken om naar en volgende cel te gaan.

De code voor VBA voer je als volgt in:
Klik op Alt+F11, dan open je VBA.
Links zie je de projectverkenner. Dubbelklik op de naam van jouw tabblad. Klik rechts op 'Algemeen' en kies 'Worksheet'. Kopieer de code, sluit VBA af en sla het bestand op.

Groeten,
Richard
 
Hartelijk dank voor de reacties.

Dat met dat beveiligen was ik net aant uitvogelen en werkt inderdaad goed.
Dat naar rechts enteren loste het overslaan van rij c niet op. Maar iig bedankt voor de moeite.

Ben namelijk bezig met boekhoudprogramma, begint er aardig op te lijken alleen het is zo een zwaar programma.

Namelijk een excelsjabloon van 2,6MB!! Komt door de vele ALS en VERT zoeken formules erin.
 
Dank voor je antwoord maar waar moet ik deze code invoeren?
Plaats onderstaande code achter het betreffende blad.
Ben echt een leek in excel wat deze code's betreft.
Druk op ALT F11 of rechtsklik op je tab van het desbetrefend blad kom eens daar kijk je links , kijk welk blad ( sheet) dubbelklik daar en nadien plak je de code van Rudi in het rechter gedeelte ( onder algemeen)
Is het niet mogelijk bepaalde cellen/rijen te selecteren en dan instellen dat die overgeslagen worden als ik op enter druk?
In Array zet je de te volgen celvolgorde

Groet,

Jacob
 
Beste Jacob01 ;)

Hartelijk dank voor de reacties.

Dat naar rechts enteren loste het overslaan van rij c niet op. Maar iig bedankt voor de moeite.

Dan enter je gewoon nog eens, probleem opgelost :D

Groetjes Danny. :thumb:
 
Als je het enteren van danny147 combineert met de beveiligings oplossing van richard1970 dan ben je er.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan