Zelle nach Eingabe via Scanner auslesen

14/01/2010 - 21:48 von Daniel Frei | Report spam
Hallo Zusammen

Ich habe folgendes Problem: Mittels eines VBA Codes möchte ich eine Zelle
(A2) welche durch das einlesen durch einen Handscanner gefüllt wird weiter
geben.
für das weitergeben habe ich folgenden Code, welcher auf Manueller Basis
bestens funzt.

Dim Datum As Date
Dim KundenNummer As String
Dim FERow As Long
Dim FERow1 As Long

Sub Erfassen()
Sheets("Erfassen").Select
Cells(2, 1).Select

Datum = Cells(1, 9)

With Sheets("Erfassen")
FERow = .Cells(Rows.Count, "C").End(xlUp).Row + 1
.Range("C" & FERow) = .Range("A2")
FERow1 = .Cells(Rows.Count, "C").End(xlUp).Row + 1
.Range("D" & FERow) = Datum

End With

Sheets("Erfassen").Select
Cells(2, 1).Activate
Cells(2, 1).ClearContents

End Sub

Die Zelle wird nach der Weitergabe für die nàchste Eingabe gelöscht. Das
geht super.
Frage:
Wie muss ich den Code abàndern, dass nach der Eingabe in Zelle A2 ein
"Enter" erzwungen wird und der Code von oben nach unten durchlàuft? Oder
sobald in Zelle A2 ein Wert steht muss der Code "anspringen"
Das ganze ist für ein Fitness Center, welches die Trainings Ihrer Kunden
erfassen möchte. Wird zur Zeit alles in Handarbeit (ca. 3-4h/Woche) gemacht.
Ziel wàhre folgendes:
Der Kunde liest seine Karteikarte selbst am Scanner ein. Excel soll dann die
Kundennummer im Sheet Erfassen und in die nàchste leere Zelle in C
schreiben. Danach wird wie im Code oben Zelle A2 wieder gelöscht.
Wie gesagt Manuell klappt alles, ausser das mit dem Enter.
Danke schon mal im Voraus für eure Hilfe

Grüsse aus der Schweiz

*********************************
Nur wer fragt kommt im Leben weiter.
Ein kluger Mann macht nicht alle Fehler selbst. Er gibt auch anderen eine
Chance. --
"Winston Churchill"
_______________________
Win 7
Office 2007 Enterprise
 

Lesen sie die antworten

#1 Andreas Killer
15/01/2010 - 09:10 | Warnen spam
On 14 Jan., 21:48, "Daniel Frei" wrote:

Oder
sobald in Zelle A2 ein Wert steht muss der Code "anspringen"


Verwende das Worksheet_Change-Ereignis im Codemodul des
Tabellenblattes um Änderungen von Zellen zu erfassen.

Andreas.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim R As Range
'Wurde A2 geàndert?
Set R = Intersect(Target, Range("A2"))
If R Is Nothing Then Exit Sub

'Ereignisse aus, sonst rufen wir uns selber auf
Application.EnableEvents = False

'Hier kannst Du die Zelle àndern

'Ereignisse wieder an
Application.EnableEvents = True
End Sub

Ähnliche fragen