Cursor verplaatsen na invoer

Status
Niet open voor verdere reacties.

Lampie173

Gebruiker
Lid geworden
21 jan 2012
Berichten
304
Besturingssysteem
Windows 11 Pro
Office versie
Office 365
Geachte heren,

Ik heb een tabel waar ik diverse gegevens in op sla.
Graag wil e.e.a automatiseren.

In Kolom A voer ik iets in, dan zou ik de cursor automatisch in Kolom c, dezelfde Rij hebben.

De invoer van Tabel (C3:G9) komt tot stand middels (Tijd)Validatie.

Een vervolgvraag borrelt dan bij mij op: Stel dat Kolom C (=som(C3:C?) aan de voorwaarde (Tijd) voldoet? is het dan mogelijk dat de cursor vanaf Kolom D, NIEUWE RIJ (= afhankelijk van Kolom C3 : C?) komt te staan?

Zie de bijlage voor uitleg.

Bekijk bijlage Cursorverplaatsen na invoer.xlsx

Ik hoop dat mijn vraagstelling duidelijk is.

Alvast bedankt,
 
Goedemorgen,

Is er niemand die mij een suggestie aan de hand kan doen?

Of s misschien mijn vraag onduidelijk?

Mvg,

Lampie
 
Je beperkt je vraag tot de heren van dit forum.
Dat is voor mij een reden er niet op te reageren.
 
Hoi snb,

Het is mij totaal ontgaan dat er ook dames onder de forumleden zijn die VBA programmeren.

Ik had beter moeten weten, zal er de volgende keer beter opletten.

Mijn welgemeende excuus,

Mvg,

Lampie
 
Hoi Niels,

Je poging komt in de buurt van wat ik voor ogen hebt, mijn dank hiervoor!

maar ik heb een aanvullende vraag: Als de invoer in kolom X een bepaald aantal uur heeft bereikt wil ik de (rechts) naast gelegen blokkeren.

Ben wat aan het proberen geweest om je code te wijzigen met wat extra For....Next Loops maar dat bood geen soelaas.

Ik heb je code ietwat aangepast en de formules in de cellen verwijderd, want die waren overbodig, klopt dat?

Hieronder mijn bijlage :

Bekijk bijlage Cursor verplaatsen na invoer mbv vba.xlsm


Bedankt voor je reactie en je genomen moeite.

Mvg,

Lampie
 
Die formules waren niet overbodig, het voor kwam dat je meer als het maximaal aantal uren kon invullen.
Bij jouw kan ik nu toch meer invullen dan het maximum uren.
Bekijk het bestandje nog eens goed en verwerk dat in je nieuwe voorbeeld.


Niels
 
Hoi Niels,


Ik heb je aanzet nog eens goed bekeken en snap nu wat je bedoelt!

Ik heb alles aangepast en verwerkt.

Alleen wat ik niet voor elkaar krijg is:

Nadat C3:C? voldaan heeft aan C1(=7), dat D3:G? niet ingevuld kunnen worden en
nadat D?:D? voldaan heeft aan D1(=7), dat E?:G? niet ingevuld kunnen worden en
nadat E?:E? voldaan heeft aan E1(=7), dat F?:G? niet ingevuld kunnen worden en
nadat F?:F? voldaan heeft aan F1(=6,5), dat G?:G? niet ingevuld kunnen worden.

De tijden in C1 tot G1 staan gelijk voor de werktijden op maandag, dinsdag, woensdag, donderdag en vrijdag.

Zie aangepaste bijlage,

Bekijk bijlage Kopie van Cursorverplaatsen na invoer-2.xlsm

Bedankt voor je genomen moeite,

Mvg,

Lampie
 
Hoi Niels,

Allereerst mijn excuses voor de late reactie op jouw bericht.
Ik zit midden in een verbouwing, vandaar

Ik heb jouw code iets aangepast, er is een kolom bijgevoegd.
Zie blad2 van mijn voorbeeld
Ook heb ik geprobeerd je code zo aan te passen dat als de tijd nog niet bereikt is dat ik dan de nog niet gebruikte tijd kan invoeren tot de max. tijd van die dag bereikt is
Hoe kan ik de code zo aanpassen dat dat wel mogelijk is?
Het gekke is ook dat als ik in kolom D een tijd invul van minder dan 7 uur ik in de volgende regel in kolom E uitkom!

Bekijk bijlage Kopie van Cursorverplaatsen na invoer-3-1.xlsm

Alvast bedankt voor je genomen moeite!

Mvg,

Toon
 
Ik weet niet wat je wilt dat ik aan pas.
begrijp het volgende stukje niet
Ook heb ik geprobeerd je code zo aan te passen dat als de tijd nog niet bereikt is dat ik dan de nog niet gebruikte tijd kan invoeren tot de max. tijd van die dag bereikt is
Hoe kan ik de code zo aanpassen dat dat wel mogelijk is?

Wat moet wel mogelijk zijn? Je omschrijft niet wat er niet mogelijk is.

Als je bedoelt dat je boven de max uren uit wilt komen dan moet je bij de gegevensvalidatie de foutmelding uitzetten.
Dan kun je een hogere waarde intypen.


Bekijk bijlage Kopie van Cursorverplaatsen na invoer-3-2.xlsm

Niels
 
Goedemorgen Niels,

Je hebt gelijk, ik ben was in mijn vraagstelling zeer onduidelijk.

Jouw code achter werkblad 1 werkt precies zoals ik wil.
Mijn dank hiervoor.

Maar zoals je ziet in werkblad 2 heb ik het e.e.a aangepast zoals ik het voor ogen heb.
Ik heb jouw code in dit blad gekopieerd en ietwat veranderd. (zie code achter werkblad 2)

In D3 staat nu 0,75 uur.
Als ik nu in A4 een straat kies en in B4 een huisnummer dan gaat de cursor naar E4 ipv. D4
Range D:D voldoet dus niet aan de voorwaarde (max. 7 uur)

Moet ik voor iedere dag een aparte tijdslijn maken?
Want nu maakt Kolom D t/m Kolom F samen gebruik van de tijdslijn in Kolom K

Ik hoop dat ik nu wel duidelijk voor je ben.


Bekijk bijlage Kopie van Kopie van Cursorverplaatsen na invoer-3-1.xlsm


Mvg,

Toon
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Selection.Cells.Count > 1 Then Exit Sub
n = 0

For Each cl In Range("D1:H1")
If Left(cl.Value, 4) <> "Tijd" And cl.Offset(1).Value = cl.Value Then n = n + 1
Next

If Target.Column = 2 Then
Target.Offset(, 2 + n).Select
'=========== weghalen als je dit niet wilt ==============
Application.EnableEvents = False
Target.Offset(, 2 + n).Value = ""
Application.EnableEvents = True
'=========== tot hier ================
End If

If Not Intersect(Target, Range("D3:H35")) Is Nothing Then
Cells(Target.Row, "J").Select
End If

End Sub

Niels
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan