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

Verspringen naar volgende cel (rechts) na ingave 1 teken

Status
Niet open voor verdere reacties.

Zyber

Gebruiker
Lid geworden
23 mrt 2007
Berichten
8
Beste experten,

Zou het mogelijk zijn om van zodra je 1 teken in een cel ingeeft, zonder op enter of tab en dergelijke te drukken, te verspringen naar een volgende cel?

Iedere cel mag maar 1 teken bevatten.
Dit enkel in de reeks A1:H1

Ik heb me hierop al suf gezocht, echter zonder resultaat.

Mvg.,
Zyber
Bekijk bijlage Verspringen.xlsx
 
Laatst bewerkt:
Beste experten,

Zou het mogelijk zijn om van zodra je 1 teken in een cel ingeeft, zonder op enter of tab en dergelijke te drukken, te verspringen naar een volgende cel?

]

ik denk niet dat dat gaat lukken.
Excel zal moeten weten dat de opdracht (invoer) beeindigd is.

Het maximaal 1 teken in laten vullen, kan worden opgelost met validatie (zie f1 hulp)

Is het de bedoeling om alle cellen dezelfde uitkomst te krijgen?
dan zou je met formules kunnen werken (of is dit te eenvoudig gedacht)?
 
Dag Oeldere,

Bedankt voor je vlugge reactie!

De reden hiervoor is eigenlijk nog simpeler, nl. het de gebruiker makkelijk maken zodat hij/zij niet telkens één teken - tab - één teken - tab - ... moet intypen.

Ik vreesde eigenlijk ook al dat het niet mogelijk zou zijn aangezien van zodra je aan de invoer begint in een soort van 'edit-mode' gaat en pas er uit gaat na bevestiging van tab of enter.

Zou het anders niet mogelijk zijn om de volledig reeks in te vullen in cel A1 en na bevestigen van enter deze reeks verspreid wordt over de totale 8 cellen (tem H1)?

Mvg.,
Zyber
 
Dat kan met de volgende formule :
Plaats deze in cel B tot cel I

Code:
=DEEL($A1;KOLOM()-1;1)

Joske
 
Dat kan met de volgende formule :
Plaats deze in cel B tot cel I

Code:
=DEEL($A1;KOLOM()-1;1)

Joske

Dat zou inderdaad een oplossing kunnen zijn Joske, echter heb ik in m'n excelblad geen aparte cel voor ingave van de gegevens.

Bestaat er geen mogelijkheid in vba?
De ingave moet min. 4 tekens zijn en max. 8.

Mvg.,
Zyber
 
Beste Zyber ;)

Als het min. 4 en max. 8 karakters mogen zijn, dan gaat het met een code in VBA ook niet lukken volgens mij, want dan gaat hij al vanaf het 4de karakter naar de volgende cel gaan.

Je kan wel afsluiten met Enter en naar de volgende rechtse cel gaan.
Ga dan naar opties in Excel en bij opties voor bewerken vul je hier rechts in ipv beneden.

Groetjes Danny. :thumb:
 
De reden hiervoor is eigenlijk nog simpeler, nl. het de gebruiker makkelijk maken zodat hij/zij niet telkens één teken - tab - één teken - tab - ... moet intypen.

Je kunt ook te ver gaan met alles te automatiseren.

Mijn motto is: Hoe meer je automatiseert des te dommer je de mensen maakt.

Dat geld zeker voor alleen maar een <enter> in te tikken na invoer van gegevens.
 
Je kunt ook te ver gaan met alles te automatiseren.

Mijn motto is: Hoe meer je automatiseert des te dommer je de mensen maakt.

Dat geld zeker voor alleen maar een <enter> in te tikken na invoer van gegevens.

Ben ik volledig mee akkoord ...
Echter als je op m'n werk rondom je heen kijkt, is het best dat alles zo automatisch mogelijk gaat want achteraf mag IK alles uitzoeken hoe alles JUIST ingevuld moet worden ...

Mvg.,
Zyber
 
Beste Zyber ;)

Als het min. 4 en max. 8 karakters mogen zijn, dan gaat het met een code in VBA ook niet lukken volgens mij, want dan gaat hij al vanaf het 4de karakter naar de volgende cel gaan.

Je kan wel afsluiten met Enter en naar de volgende rechtse cel gaan.
Ga dan naar opties in Excel en bij opties voor bewerken vul je hier rechts in ipv beneden.

Groetjes Danny. :thumb:

Dag Danny,

Bestaat er geen mogelijkheid dat de macro eerst controleert uit hoeveel tekens de ingave bestaat?
Indien niet correct hiervan bericht laat en de gebruiker opnieuw de kans geeft dit correct in te vullen.
Indien correct de ingave verdeelt over het aantal cellen.

Mvg.,
Zyber
 
Ben ik volledig mee akkoord ...
Echter als je op m'n werk rondom je heen kijkt, is het best dat alles zo automatisch mogelijk gaat want achteraf mag IK alles uitzoeken hoe alles JUIST ingevuld moet worden ...

Mvg.,
Zyber

Is het geen optie om met gegevensvalidatie te werken zodat gebruikers een keuze moet maken uit een aantal opties?

Met vriendelijke groet,


Roncancio
 
Is het geen optie om met gegevensvalidatie te werken zodat gebruikers een keuze moet maken uit een aantal opties?

Met vriendelijke groet,


Roncancio


Eigenlijk niet direct volgens mij Roncancio.
Deze 8 cellen kunnen ofwel: de laatste 8 cijfers van een chassisnummer, een nummerplaat (zowel 4, 5, 6 als 7 tekens mogelijk), een jobnummer (8 tekens) of een woord vormen (bvb: stock).

Mvg.,
Zyber
 
hallo

welke cijfers of letters mogen er ingevuld worden?

en met "onkey" kun je best wel wat regelen .
je kan met onkey een macro starten die er voor zorgt dat de volgende cel geselecteerd wordt.

ja kan ook tekstvelden over de cellen leggen dat geeft vele mogenlijkheden om te berijken wat jij wil.

als je een voorbeeld wil dan hoor ik het wel .ik heb nu geen tijd

groet sylvester
 
hoi

maak een aantal tekstboxen aan en koppel een ieder aan hun cel
dat heet de LinkedCell in de eigenschappen enz..... zie voorbeeld:

in dit voorbeeld wordt de tekstbox automatisch over de linkedCell gelegd.

Code:
Private Sub TextBox1_Change()
    Call Volgende(TextBox1, TextBox2)
End Sub
Private Sub TextBox2_Change()
    Call Volgende(TextBox2, TextBox3)
End Sub
Private Sub TextBox3_Change()
    Call Volgende(TextBox3, TextBox4)
End Sub
Private Sub TextBox4_Change()
    Call Volgende(TextBox4, Range("F1"))
End Sub
Sub Uitlijnen(C As Range, T)
    T.Top = C.Top
    T.Left = C.Left
    T.Height = C.Height + 1
    T.Width = C.Width + 1
End Sub
Sub Volgende(T1, T2)
    With T1
        lc = .LinkedCell
        If lc <> "" Then
            Call Uitlijnen(Range(lc), T1)
        End If
        If .Value = "" Then Exit Sub
        .Value = Right(.Value, 1)
    End With
    T2.Activate
End Sub
Bekijk bijlage test_celMet1Letter1.xls

groet sylvester
 
hoi

maak een aantal tekstboxen aan en koppel een ieder aan hun cel
dat heet de LinkedCell in de eigenschappen enz..... zie voorbeeld:

in dit voorbeeld wordt de tekstbox automatisch over de linkedCell gelegd.

Code:
Private Sub TextBox1_Change()
    Call Volgende(TextBox1, TextBox2)
End Sub
Private Sub TextBox2_Change()
    Call Volgende(TextBox2, TextBox3)
End Sub
Private Sub TextBox3_Change()
    Call Volgende(TextBox3, TextBox4)
End Sub
Private Sub TextBox4_Change()
    Call Volgende(TextBox4, Range("F1"))
End Sub
Sub Uitlijnen(C As Range, T)
    T.Top = C.Top
    T.Left = C.Left
    T.Height = C.Height + 1
    T.Width = C.Width + 1
End Sub
Sub Volgende(T1, T2)
    With T1
        lc = .LinkedCell
        If lc <> "" Then
            Call Uitlijnen(Range(lc), T1)
        End If
        If .Value = "" Then Exit Sub
        .Value = Right(.Value, 1)
    End With
    T2.Activate
End Sub
Bekijk bijlage 110891

groet sylvester

Hoi Sylvester,

Het is inderdaad dit dat ik nodig had! Mega bedankt!

Echter heb ik nog één klein probleempje ...
Na ingave van deze cellen zouden de ingevoerde gegevens moeten gekopieerd worden in één cel.
Dit omdat het bestand telkens opgeslaan wordt met deze rij gegevens in de bestandsnaam.

Ik ben echter niet zo'n VBA-wizard ...

Mvg.,
Zyber
 
hoi Zyber

set om de cel waar je het samen gevoegd wil hebben
Code:
=TEKST.SAMENVOEGEN(B1;C1;D1;E1)
of
Code:
=B1 & C1 & D1 & E1

groet sylvester
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan