excel vba Cursor mir Eingabetaste positionieren

Diskutiere und helfe bei excel vba Cursor mir Eingabetaste positionieren im Bereich Microsoft Office im Windows Info bei einer Lösung; Guten Tag In derTabelle1 gebe ich in der Zelle G6 das Datum ein. Mittels VBA habe icheingestellt, dass der Cursor nach der Datumseingabe in der... Dieses Thema im Forum "Microsoft Office" wurde erstellt von HannaAregger, 17. Februar 2021.

  1. excel vba Cursor mir Eingabetaste positionieren


    Guten Tag



    In derTabelle1 gebe ich in der Zelle G6 das Datum ein. Mittels VBA habe icheingestellt, dass der Cursor nach der Datumseingabe in der Zelle I6 für dieweitere Eingabe positioniert wird. Dies funktioniert ohne Probleme.

    Wenn nun derCursor in der Zelle G6 Datum steht, das Datum aber nicht geändert werden mussund die Eingabetaste Return gedrückt wird, sollte der Cursor ebenfalls in derZelle I6 für die weitere Eingabe positioniert werden. Die Lösung dazu habe ichnicht gefunden. Wie ist dies möglich?



    Hanna
     
  2. HannaAregger Win User

    excel vba Cursor mir Eingabetaste positionieren

    Hallo Andreas
    <br />
    <br />Zuerst vielen Dank für die Antwort.
    <br />Ja, ich habe die Tabelle bereits mit - Zellen entsperren und das Blatt mit
    der Option "Geschützte Zellen auswählen" - eingerichtet.
    <br />Damit der
    Cursor nach der Datumseingabe von der Zelle G6 zur Zelle I6 geht, habe ich mit folgender
    VBA gelöst und funktioniert ohne Probleme.
    <br />
    <br />Private Sub Worksheet_Change(ByVal
    Target As Range)
    <br />
    <br />'Cursor nach
    Eingabe Datum (Zelle G6) geht nach Zelle I6
    <br /> If Target.Address = "$G$6" Then
    <br /> Range("I6").Select
    <br />
    End If
    <br />
    <br />End Sub
    <br />
    <br />Wenn ich jetzt aber das Datum nicht ändere (das vorher eingegebene Datum wird im Prozess absichtlich nicht gelöscht), wie bringe ich den Cursor mittels
    Eingabetaste (Return) von G6 zu I6?
    <br />
    <br />Hanna
    <br />
  3. Andreas Killer Win User

    excel vba Cursor mir Eingabetaste positionieren

    Naja, mit VBA ist das ein bisschen mit Gehirngänge verknoten verbunden. :)
    <br />Einfacher ist es nur diese Zellen zu entsperren und das Blatt zu schützen und dabei die Option "Geschützte Zellen auswählen" zu deaktivieren. Fertig.
    <br />In VBA muss man statt dem Change Ereignis (was Du genommen hast) das SelectionChange Ereignis nehmen.
    <br />Das Problem dabei ist wenn das SelectionChange Ereignis kommt, dann bist Du schon in der nächsten Zelle drin und weißt nicht mehr wo Du warst.
    <br />Daher musst Du Dir die letzte gewählte Zelle selber "merken" und diese Variable auch initialisieren wenn Du in das Blatt gehst, siehe LastTarget.
    <br />Nun definieren wir einfach eine Variable Order und definieren so alle Zellen die in der gewünschten Reihenfolge angesprungen werden sollen.
    <br />Mit einer Schleife laufen wir die Reihenfolge durch und wenn wir die letzte Zelle finden, dann können wir beim nächsten Durchlauf zu der Stelle springen. Haken: Bei der letzten Zelle in Order ist die Schleife zu Ende, d.h. wir müssen in dem Fall zu der allerersten Zelle springen.
    <br />Soweit, so einfach. Ich hoffe Du bist noch da? ;-)
    <br />Nehmen wir mal an wir haben eine Reihenfolge von 3 oder mehr Zellen. Und der User ist in der 1ten Zelle und er klickt direkt in die 3te Zelle. In dem Fall müssen wir unsere Logik brechen, direkt zu der Zelle gehen und von dort aus beim nächsten Mal weitermachen.
    <br />Also müssen wir auch prüfen ob die letzte Zelle oder die aktuelle Zelle sich überhaupt in unserer Reihenfolge befindet und entsprechend reagieren.
    <br />Jetzt haben wir aber noch ein Problem, weil wenn wir einmal in unserem Order Zyklus drin stecken, dann kannst Du niemals irgendwelche Zellen außerhalb dieser Reihe anklicken, unser Code würde uns wieder in die Reihenfolge zwingen ... das ist blöd. Also nutzen wir die Möglichkeit das wir mehrere Zellen in einem Blatt auswählen können und setzen dann unseren Merker LastTarget einfach auf diese Zellen. Damit wird die Reihefolge gebrochen und wir können auch Zellen außerhalb anwählen.
    <br />Bis wir wieder eine in unserer Reihenfolge treffen und dann geht das Spiel von vorne los.
    <br />Ich glaub nun ist der Knoten perfekt. :eek:))
    <br />Noch ein Problem gibt es wenn das Blatt das aktive ist wenn die Datei geöffnet wird, dann kommt Worksheet_Activate nicht. Wie man das löst ... ich warte mal ab ob Du bis hierher mitgelesen hast. ;-)
    <br />Andreas.
    <br />
    Option Explicit
    
    Dim LastTarget As Range
    
    Private Sub Worksheet_Activate()
    Set LastTarget = ActiveCell
    End Sub
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Order As Range, This As Range
    Dim Found As Boolean
    If Target.Count > 1 Then
    Set LastTarget = Target
    Exit Sub
    End If
    Set Order = Range("G6,I6,B2,F7:F9,A1")
    If LastTarget Is Nothing Then Set LastTarget = ActiveCell
    If Not Intersect(LastTarget, Order) Is Nothing Then
    If Not Intersect(Target, Order) Is Nothing Then
    Set This = Target
    Else
    For Each This In Order
    If Found Then GoTo GoToThis
    If This.Address = LastTarget.Address Then Found = True
    Next
    Set This = Order.Cells(1)
    End If
    GoToThis:
    Application.EnableEvents = False
    This.Select
    Application.EnableEvents = True
    Else
    Set This = Target
    End If
    Set LastTarget = This
    End Sub
    
  4. Andreas Killer Win User

    excel vba Cursor mir Eingabetaste positionieren

    Ja, ich habe die Tabelle bereits mit - Zellen entsperren und das Blatt mit
    der Option "Geschützte Zellen auswählen" - eingerichtet.Wenn ich jetzt aber das Datum nicht ändere (das vorher eingegebene Datum wird im Prozess absichtlich nicht gelöscht), wie bringe ich den Cursor mittels
    Eingabetaste (Return) von G6 zu I6?
    Satz 1) Nee, hast Du nicht. Wenn Du hättest, dann wäre VBA gar nicht nötig und es würde schon funktionieren.

    [​IMG]

    <br />Satz 2) Lies meinen Beitrag oben nochmal, da steht es drin. Oder probiere den Code einfach mal in einer neuen Datei und dann lies den Beitrag nochmal. Einfacher ist die Lösung in VBA leider nicht zu realisieren.
    <br />Ich weiß die Menge an Info ist ein bisschen wie
    <br />
    [​IMG]

    <br />Man kommt nicht durch die Wand, aber drüber schon.
    <br />Andreas.
    <br />
  5. Claus Busch Win User

    excel vba Cursor in ausgeblendeter Tabelle positionieren

    Hallo Hanna,

    den Cursor kann man nur in einer aktiven Tabelle positionieren.

    Wenn du Tabelle2 einblendest, steht der Cursor dort, wo er beim Ausblenden gestanden hat. Wenn du ihn an eine bestimmte Position stellen möchtest, dann musst du das im Code-Modul von Tabelle2 in Worksheet_Activate einrichten.

    Claus
  6. Claus Busch Win User

    excel vba Cursor in ausgeblendeter Tabelle positionieren

    Hallo Hanna,

    du brauchst das Blatt nicht einzublenden, um es zu schützen.

    Worksheets("Tabelle2").Protect

    genügt dazu.

    Wenn du etwas anderes auf dem ausgeblendeten Blatt ausführen möchtest, beschreibe mal dein Vorhaben genauer.

    Den Cursor kannst du weder mit VBA noch von händisch in eine ausgeblendete Mappe setzen.

    Claus
  7. User Advert


    Hi,

    willkommen im Windows Forum!
Thema:

excel vba Cursor mir Eingabetaste positionieren - Microsoft Office

Die Seite wird geladen...

excel vba Cursor mir Eingabetaste positionieren - Similar Threads - excel vba Cursor

Forum Datum

Excel VBA

Excel VBA: Hallobenutze schon länger ein selbst geschriebenes Addin eine Berechnungsfunktion. Diese ist bei den AddIns Datei > Optionen > AddIn auch angezeigt und funktioniert auch über benutzerdefinierte...
Microsoft Office 9. Juni 2022

excel vba Cursor in ausgeblendeter Tabelle positionieren

excel vba Cursor in ausgeblendeter Tabelle positionieren: Hallo Von derTabelle1 aus will ich in der ausgeblendeten Tabelle2 den Cursor positionieren.Mit den folgenden Makros muss ich jeweils die Tabelle2 einblenden visible = Trueund nach dem...
Microsoft Office 4. Februar 2021

VBA Powerpoint Verknüpfungen positionieren

VBA Powerpoint Verknüpfungen positionieren: Hallo zusammen, ich habe folgenes Problem und hoffe, hier Hilfe zu finden: In einer Powerpoint Präsentation sind Verknüpfungen aus einer Excel-Datei. Diese können jedoch ihre Größe und Form...
Microsoft Office 25. Oktober 2019

VBA: Verknüpfungen in ppt automatisch Positionieren

VBA: Verknüpfungen in ppt automatisch Positionieren: Hallo zusammen, ich habe folgenes Problem und hoffe, hier Hilfe zu finden: In einer Powerpoint Präsentation sind Verknüpfungen aus einer Excel-Datei. Diese können jedoch ihre Größe und Form...
Microsoft Office 25. Oktober 2019

excel vba

excel vba: hi ich habe: Worksheets("test2").Range("b3").Copy Destination:=Worksheets("Mdax").Range("b20") was schön und gut funktioniert nur kann ich damit auch die Zielzelle definieren? In meinem...
Microsoft Office 24. Juli 2019

Cursor in Excel-Entwurfsansicht

Cursor in Excel-Entwurfsansicht: Hallo, in der VBE von Excel möchte ich ein Control in einer Userform verschieben. Seit heute wechselt der Cursor aber nach dem Drag sofort in die Anzeige mit dem Pluszeichen, als wolle ich...
Microsoft Office 12. April 2018

Excel Cursor

Excel Cursor: Hallo, ich habe seit dem neuen Fall Creators update ein Problem mit meinem Cursor in Excel. Jedes Mal wenn ich über die Zellen hinwegschwebe, wechselt der Cursor zwischen dem weißen Plus und dem...
Microsoft Office 31. Oktober 2017
excel vba Cursor mir Eingabetaste positionieren solved
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.