Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1736to1740
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellensprung

Zellensprung
23.01.2020 22:00:27
Bob

Hallo ich würde gerne die Community um Hilfe bitten.
Es geht um eine kleine Arbeitsverbesserung.
Das Makro soll per Button aktivierbar / deaktivierbar sein.
Es gibt bereits eine Arbeitsmappe mit 12 Tabellenblättern, in denen werden die Daten per Barcodescanner erfasst.
Jedes Tabellenblatt ist identisch (Januar bis Dezember).
Die Datenerfassung in den Zellen soll wie folgt funktionieren:
Schritte
1) "E5" - eingabe+Enter (gültig für Zellenbereich "E5:E999")
2) "F5" - eingabe+Enter (gültig für Zellenbereich "F5:F999")
3) "G5" - eingabe+Enter (gültig für Zellenbereich "G5:G999")
4) "H5" - eingabe+Enter (gültig für Zellenbereich "G5:G999")
5) - Zellensprung (Makro abhängig) entweder in "K5" oder "E6"
Makro
1)
nach Enter in der Zeile "H5" greift die
Bedingung 1 wenn
"G5=1"
dann nach Enter Sprung in
"K5" (gültig für Zellenbereich "K5:K999")
und nach Enter in "K5" Sprung in
"N5" (gültig für Zellenbereich "N5:N999")
und nach Enter Sprung in der nächsten freien Zelle im Bereich
"E5:E999"
Diese Prozedur immer wieder ausführen, wenn in der Spalte
"G" eine "1" eingetragen wird."
2)
Bedingung 2 wenn
"G5=0"
dann nach der Eingabe im
"H5"
Sprung in der nächsten freien Zelle im Bereich
"E5:E999" .
Noch eine Dritte Sache,
der per Barcodescanner erfasste Barcode z.B. „1234-4455“,
ergibt immer folgendes Ergebnis: „1234ß4455“.
Die Zeichen „-„ werden momentan durch „ß“ ersetzt.
Lässt sich diese Darstellung ebenfalls in Makro ändern?
Ich hoffe, dass diese Erklärung verständlich ist.
Vielen Dank für die Unterstützung
Mfg
Bob

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellensprung
24.01.2020 18:15:33
Bob
Hallo Danke erstmal für den Versuch allerding funktioniert es bei mir nicht.
Ich habe ein paar kommentare eingefügt wie das funktionieren soll.
Danke
AW: Zellensprung
26.01.2020 14:34:48
Bob
Hallo ich habe immer noch Hoffnung dass jemand mir helfen kann.
https://www.herber.de/bbs/user/134676.xlsm
Bitte
MfG
Bob
Anzeige
AW: Zellensprung
27.01.2020 08:18:07
Bernd
Servus Bob,
versuche es mal so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Aktiv = True Then
If Target.Address = "$E$5" And Range("E5").Value  "" Then
If Target.Value = 0 Or Target.Value = 1 Then
Range("D5").Value = Date
End If
Range("F5").Select
Exit Sub
End If
If Target.Address = "$F$5" And Target.Value  "" Then
Range("G5").Select
Exit Sub
End If
If Target.Address = "$G$5" And Target.Value  "" Then
Range("H5").Select
Exit Sub
End If
If Target.Address = "$H$5" And Target.Value  "" Then
Select Case Range("G5").Value
Case Is = 1
Range("K5").Select
Case Is = 0
Range("E" & Cells(Rows.Count, "E").End(xlUp).Row + 1).Select
Case Else
MsgBox "Wert ausserhalb der erwarteten Grenzen"
End Select
End If
If Target.Address = "$K$5" And Target.Value  "" Then
Range("L5").Select
Exit Sub
End If
If Target.Address = "$L$5" And Target.Value  "" Then
Range("M5").Select
Exit Sub
End If
If Target.Address = "$M$5" And Target.Value  "" Then
Range("N5").Select
Exit Sub
End If
If Target.Address = "$N$5" Then Range("E" & Cells(Rows.Count, "E").End(xlUp).Row + 1). _
Select
End If
End Sub
Der Code setzt jedoch immer die Eingabe in Zeile 5 voraus.
Wenn es immer die letzte Zeile sein soll, dann musst du immer zuerst die letzte Zeile ermitteln und diese dann anstelle der "5" im Code verwenden.
Grüße, Bernd
Anzeige
AW: Zellensprung
27.01.2020 08:27:55
Bernd
Servus Bob,
gleich noch mit immer der letzten Zeile:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Dim intLZ As Long
If Aktiv = True Then
intLZ = Cells(Rows.Count, "E").End(xlUp).Row
If Target.Address = "$E$" & intLZ And Target.Value  "" Then
If Target.Value = 0 Or Target.Value = 1 Then
Range("D" & intLZ).Value = Date
End If
Range("F" & intLZ).Select
Exit Sub
End If
If Target.Address = "$F$" & intLZ And Target.Value  "" Then
Range("G" & intLZ).Select
Exit Sub
End If
If Target.Address = "$G$" & intLZ And Target.Value  "" Then
Range("H" & intLZ).Select
Exit Sub
End If
If Target.Address = "$H$" & intLZ And Target.Value  "" Then
Select Case Range("G" & intLZ).Value
Case Is = 1
Range("K" & intLZ).Select
Case Is = 0
Range("E" & Cells(Rows.Count, "E").End(xlUp).Row + 1).Select
Case Else
MsgBox "Wert ausserhalb der erwarteten Grenzen"
End Select
End If
If Target.Address = "$K$" & intLZ And Target.Value  "" Then
Range("L" & intLZ).Select
Exit Sub
End If
If Target.Address = "$L$" & intLZ And Target.Value  "" Then
Range("M" & intLZ).Select
Exit Sub
End If
If Target.Address = "$M$" & intLZ And Target.Value  "" Then
Range("N" & intLZ).Select
Exit Sub
End If
If Target.Address = "$N$" & intLZ Then Range("E" & Cells(Rows.Count, "E").End(xlUp).Row + 1) _
.Select
End If
End Sub
Grüße, Bernd
Anzeige
AW: Zellensprung
26.01.2020 19:00:53
Piet
Hallo Bob - für Hajo - dieser Thread war vorm Frager Offengestellt!!
ich bin mir nicht sicher ob ich die Aufgabe richtig verstanden habe? Wenn ja sollte der Zellsprung in jeder aktuellen Zelle erfolgen. Richtig? Probier es bitte mal so.
mfg Piet
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TZei As Long, lz1 As Long   'Target Zeile, LastZell
If Target.Count > 1 Then Exit Sub   'Kein Mehrfachbereich!
If Target.Value = "" Then Exit Sub  'Eingabe wurde gelöscht
If Aktiv = True Then
TZei = Target.Row   'aktuelle Target Zeile
lz1 = Cells(Rows.Count, "E").End(xlUp).Row + 1 ^ LastZell
If Target.Address = "$H$" & TZei Then
Select Case Range("G" & TZei).Value  'Range("G5").Value
Case Is = 1
Range("K" & TZei).Select
Case Is = 0
Range("E" & lz1).Select
Case Else
MsgBox "Wert ausserhalb der erwarteten Grenzen"
End Select
End If
If Target.Address = "$K$" & TZei Then Range("N" & TZei).Select
If Target.Address = "$N$" & TZei Then Range("E" & lz1).Select
End If
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige