Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1172to1176
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

Uebergabe durch einen Barcodescanner (noch mals)

Uebergabe durch einen Barcodescanner (noch mals)
Daniel
Hallo zusammen ich komme nochmals mit dem selben Problem wie aus dem Thread
https://www.herber.de/forum/archiv/1172to1176/t1174363.htm
Mittlerweile habe ich die Möglichkeiten des Scanner erhalten. Er kann sämtliche ASCII Zeichen senden.
Eine Liste der Möglichen Zeichen habe ich unter diesem Link raufgeladen
https://www.herber.de/bbs/user/71400.doc
Es wäre super, wenn ihr mir hierzu eine möglichst einfache Lösung geben könnt. Die Lösung von Franz habe ich versucht einzubauen, doch leider komme ich da mit meinen VBA-Kenntnissen dann doch an meine Grenzen. Das ganze hat nicht gerade nach meine Wünschen gefunzt. (Kann aber auch an mir liegen :-) )
Wie gesagt ideal wäre etwa folgendes:
Der Scanner sendet ein ASCII Zeichen, welches das Sheet "Erfassen" und die Zelle A2 aktiviert, danach kommt eine Zahl und als Abschluss ein "Enter".
Welches ASCII Zeichen ist von Excel/VBA am besten auszuwerten?
Danke schon jetzt mal für eure Hilfe
Gruss Dani

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
Gedankenspiel
06.09.2010 00:04:15
Uduuh
Hallo,
eine Change-Routine kann ja erst nach Enter zuschlagen. Ein Scanner simuliert ja auch nur eine Tastatureingabe.
Deshalb: egal auf welchem Blatt der User ist:, erst mal das linke Zeichen der Eingabe checken. Wenn F9 (CHR(30)) die Eingabe merken, rückgängig machen und dann den Wert in Eingabe!A2 eintragen. Ob das funktioniert, weiß ich nicht.
In DieseArbeitsmappe:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim sText As String
If Sh.Name = "Eingabe" And Target.Address = "$A$2" Then
'Code für Eingabe!A2
Else
If Left(Target, 1) = Chr(30) Then
sText = Target.Value
Application.Undo
Sheets("Eingabe").Range("A2") = sText
End If
End If
End Sub

Gruß aus’m Pott
Udo

Anzeige

22 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige