Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bestimmte Zeilen überspringen bei Barcodescann

Bestimmte Zeilen überspringen bei Barcodescann
14.09.2016 10:16:32
Jürgen
Hallo werte User,
ich scanne Barcodes ein. Es wird nur eine Zelle befüllt. Nach jedem Scann soll der Cursor automatisch eine Zeile nach unten springen. Dieses Problem scheine ich schon gelöst zu haben.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A" & Target.Row)  "" Then
Range("A" & Target.Row + 1).Select
End If
End Sub

Nun soll aber zusätzlich nach jedem zwölften Scann eine komplette Zeile übersprungen werden. Es sollen also immer 12er-Blöcke abgebildet werden.
Ich bedanke mich im Voraus für Tips
Gruß
Jürgen
Anzeige

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

Betreff
Datum
Anwender
Anzeige
Welche ZeileNr ist die Erste ? (owT)
14.09.2016 10:30:05
EtoPHG

AW: Bestimmte Zeilen überspringen bei Barcodescann
14.09.2016 10:33:58
UweD
Hallo
Private Sub Worksheet_Change(ByVal Target As Range)
     Dim i As Integer
     If Target.Column <> 1 And Target.Count > 1 Then Exit Sub
     If Target <> "" Then
        i = IIf(Target.Row Mod 12 = 1, 1, 0) 'Mod 12 = 1 wenn Überschrift sonst =0 
        Target.Offset(1 + i, 0).Select
    End If

End Sub

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0

Gruß UweD
Anzeige
nimm OR statt AND
14.09.2016 10:50:28
Matthias
Hallo
If Target.Column  1 And Target.Count > 1 Then Exit Sub
Bei And gibts einen Fehler beim Löschen mehrerer Zellinhalte
Deshalb besser mit Or arbeiten:
If Target.Column  1 Or Target.Count > 1 Then Exit Sub
Gruß Matthias
Anzeige
AW: nimm OR statt AND
14.09.2016 10:55:53
UweD
@ Matthias: Danke für den Hinweis.
Ist aber noch ein Bug drin.
so geht es aber.
Private Sub Worksheet_Change(ByVal Target As Range)
     Dim i As Integer, leer As Integer
     If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
     If Target <> "" Then
        leer = WorksheetFunction.CountBlank(Range(Cells(Target.Row, 1), Cells(Target.Row - 11, 1)))
        i = IIf(leer = 0, 2, 1)
        Target.Offset(i, 0).Select
    End If
End Sub
LG UweD
Anzeige
da ist aber auch der wurm drin.
14.09.2016 11:20:56
UweD
- da testet man, wenn mehr als 12 erfasst sind und stellt einen Fehler fest,
- ändert das dann, dass es klappt
- und beachtet die Zeilen &lt12 nicht. :-((
so sollte es aber jetzt klappen.
Private Sub Worksheet_Change(ByVal Target As Range)
     Dim i As Integer, leer As Integer
     If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
     If Target <> "" Then
        If Target.Row > 12 Then
            leer = WorksheetFunction.CountBlank(Range(Cells(Target.Row, 1), Cells(Target.Row - 11, 1)))
            i = IIf(leer = 0, 2, 1)
        Else
            i = 1
        End If
        Target.Offset(i, 0).Select
    End If
End Sub

LG UweD
Anzeige
AW: Danke
14.09.2016 11:37:14
Jürgen
Läuft perfekt.
Ich bedanke mich ganz herzlich.
Gruß
Jürgen
gern geschehen owT
14.09.2016 11:40:00
UweD
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bestimmte Zeilen bei Barcodescann in Excel überspringen


Schritt-für-Schritt-Anleitung

Um in Excel beim Scannen von Barcodes automatisch eine Zeile zu überspringen, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne Deine Excel-Datei und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle im Projekt-Explorer das Arbeitsblatt aus, für das Du den Code einfügen möchtest.

  3. Füge den folgenden Code in das Code-Fenster ein:

    Private Sub Worksheet_Change(ByVal Target As Range)
       Dim i As Integer, leer As Integer
       If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
       If Target <> "" Then
           If Target.Row > 12 Then
               leer = WorksheetFunction.CountBlank(Range(Cells(Target.Row, 1), Cells(Target.Row - 11, 1)))
               i = IIf(leer = 0, 2, 1)
           Else
               i = 1
           End If
           Target.Offset(i, 0).Select
       End If
    End Sub
  4. Schließe den VBA-Editor und teste das Scannen von Barcodes in Deinem Arbeitsblatt.


Häufige Fehler und Lösungen

  • Fehler beim Löschen mehrerer Zellen:

    • Problem: Der Code funktioniert nicht korrekt, wenn Du mehrere Zellen gleichzeitig bearbeitest.
    • Lösung: Ändere die Zeile:
    If Target.Column <> 1 Or Target.Count > 1 Then Exit Sub
  • Cursor springt nicht wie gewünscht:

    • Problem: Der Cursor springt nicht nach jeder zwölften Zeile.
    • Lösung: Stelle sicher, dass der Code den richtigen Modulo-Operator verwendet, um die Zeilen korrekt zu zählen.

Alternative Methoden

Falls Du keinen VBA-Code verwenden möchtest, gibt es auch alternative Methoden:

  1. Formeln: Du kannst Formeln verwenden, um bestimmte Zellen zu überspringen, jedoch ist dies nicht so flexibel wie VBA.
  2. Makros: Erstelle ein Makro, das die gewünschte Funktionalität bietet und das Du bei Bedarf ausführen kannst.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie der Code verwendet werden kann:

  • Beispiel 1: Wenn Du Barcodes in die Zellen A1 bis A12 scannst, wird der Cursor nach dem Scannen von A12 auf A14 springen.
  • Beispiel 2: Bei einem neuen Barcode in A13 wird der Cursor auf A15 springen, sofern die vorherige Zeile nicht leer ist.

Tipps für Profis

  • Debugging: Nutze die Debugging-Funktion im VBA-Editor, um Fehler schnell zu identifizieren.
  • Optimiere den Code: Überlege, ob Du den Code so optimieren kannst, dass er schneller läuft oder weniger Ressourcen verbraucht.
  • Regelmäßige Backups: Mache regelmäßig Backups Deiner Excel-Datei, bevor Du Änderungen am VBA-Code vornimmst.

FAQ: Häufige Fragen

1. Frage
Wie kann ich den Code anpassen, um mehr als 12 Zeilen zu überspringen?
Antwort: Du kannst den Wert 12 im Code durch die gewünschte Anzahl ersetzen.

2. Frage
Funktioniert dieser Code in allen Excel-Versionen?
Antwort: Der Code wurde in Excel 2013 getestet, sollte jedoch auch in neueren Versionen funktionieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige