online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Patejoker vom 30.08.2022, 18:24 Options

In Excel nach bestimmten Aktionen in verschiedene Zellen springen

Guten Tag,

ich habe folgendes Problem:

Ich möcht in Excel folgendes dürchführen.

In Die Spalte A werden untereinander immer wieder bestimmt Barcodes eingelesen.
Und es wird die Antfangzeit in Spalte B eingetragen:

Das habe ich bereits hinbekommen.

Nun möchte ich aber das wenn ich den Barcode Scann er nicht nur die Anfangzeit einträgt sondern Automatisch (ohne Enter drücken) in Spalte D springt.

Dort wird dann der Name eingetragen und mit Enter bestätigt (sobald mann enter drückt soll er eine Zeile tiefer wieder in Spalte A gehen, damit ich einen erneuten Barcode einscannen kann)

Und wenn es also funktioniert das ich Scanne er mir die Zeit in Spalte B schreibt und dann zur Spalte D spring die wiederrum nach bestätigen der Enter taste auf neue Zeile Spalte A springt sollte noch folgendes Passieren.

Wenn ich nach der Eingabe einer ZEIT in Spalte C Enter drücke soll er zur Spalte F

Mein bisheriiger Code um die Zeit nach dem Scannen in Zeile B zu schreiben und Sie dann auch nicht zu veränder ist folgender:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Target.Offset(0, 1).Value = Format(Now, "hh:mm:ss")
End Sub


Nun seit Ihr gefragt ;)

Wer eine Idee oder eine Lösung hat immer her damit :)

Danke


Antwort schreiben

Antwort 1 von Hajo_Zi vom 30.08.2022, 19:12 Options

Halo Unbekannte8r),

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
Target.Offset(0, 1).Value = Format(Now, "hh:mm:ss")
Target.Offset(0, 3).select
End Sub

Gruß Hajo

Antwort 2 von Patejoker vom 30.08.2022, 20:39 Options

Hallo,

leider hat dein Vorschlag nichts von all dem gemacht was ich wollte.

Deine Formel hat auch nur mein Script ausgeführt.

Gebe ich einen WErt in Spalte A bekomme ich eine "Eingefrorene" Zeit in Spalte B.

Jedoch hatte ich es ja auch schon soweit.

Den Rest meiner Aufgabe erfüllt das Script leider nicht!

Trotzdem Danke

Antwort 3 von Hajo_Zi vom 30.08.2022, 21:02 Options

Hallo Unbekannte(r),

mein Code wählt die Zelle in Spalte D aus.

Gruß Hajo

Antwort 4 von Patejoker vom 30.08.2022, 21:24 Options

Hmm ok danke erst mal :)

Aber das Löst nur eines meiner Probleme :)

Ich bin dann zwar in der Spalte D müßte nun aber nach einer Eingabe (die mit Enter bestätigt wird)nach Zeile tiefer und Spalte A.

Desweiteren ist müss ich nach einer Eingabe in der Spalte C (eingabe wird mit Enter bestätigt) nach Spalte F

Und jetzt kommt der Hammer nach dem ich dann von Spalte C in Spalte F gelandet bin sollte ein Message Box aufgehen mit einem TEXT "XYZ" . Und auch hier sollte nach dem OK klicken der Message Box und einer Eingabe in der Zeile (die wiederrum bestätigt wird) die ausgewählte Zelle eine Zeile Tiefer und Spalte C sein!

Alles nicht so einfach,

denn wenn ich versuche 2 mal die Gleiche sache einzubauen bekomme ich immer fehler :(

Antwort 5 von malSchauen vom 30.08.2022, 23:39 Options

Hi,

Versuch mal folgendes:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column = 1 Then                               'Wenn Änderung in Spalte1 (A)
        Application.EnableEvents = False                    'falls irgendwann Spalte2 etwas auslösen soll
        Target.Offset(0, 1).Value = Format(Now, "hh:mm:ss") 'Schreibe ein Spalte nach rechts (B) die Zeit
        Application.EnableEvents = True                     'Events wieder ein
        Target.Offset(0, 3).Select                          'selectiere 3. Zelle nach rechts (D)
    End If                                                  'ENDE Änderung in Spalte1 (A)
    
    If Target.Column = 4 Then                               'Wenn Änderung in Spalte4 (D)
        Target.Offset(1, -3).Select                         'selectiere Zelle ein Zeile runter, 3Spalten links
    End If                                                  'ENDE Änderung in Spalte4 (D)
    
    If Target.Column = 3 Then                               'Wenn Änderung in Spalte3 (C)
        MsgBox "XYZ", vbInformation, "Eingabe:"             'MessageBox
        Target.Offset(0, 3).Select                          'selectiere 3. Zelle nach rechts (F)
    End If                                                  'ENDE Änderung in Spalte3 (C)
    
    If Target.Column = 6 Then                               'Wenn Änderung in Spalte6 (F)
        Target.Offset(1, -3).Select                         'selectiere Zelle ein Zeile runter, 3Spalten links
    End If                                                  'ENDE Änderung in Spalte6 (F)
    
End Sub


bye
malSchauen

Ähnliche Themen

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 01:23:17 2026