Nochmal zu Makro beim Verlassen einer Zelle

26/06/2009 - 21:08 von Peter Muehlbauer | Report spam
Hallo Gemeinde,

ich habe ein àhnliches Problem bei einer Tabelle, die mit einem Barcodescanner
gefüllt wird, der nach jeder Eingabe standardmàßig ein CR/LF anfügt:

A B C D


Die Zellen in C + D arbeiten die Eingaben in A + B per Formel ab (Abtrennen
von überflüssigen Headern, Pràfixen und Suffixen im Scantext). Das làuft
soweit schon sehr gut.

Probleme gibt es nur mit der Eingabe.
Durch das CR/LF wird nach Eingabe in A zur nàchsten Zelle in A gesprungen,
genauso wie Eingabe in B zur nàchsten Zelle in B springt.

Wie kann man das so hinbekommen, daß die jeweils aktive nàchste Zelle im
Zick-Zack durchlaufen wird?
Also nach Eingabe in A wird zu B gesprungen, nach Eingabe in B wieder zur
nàchsten freien Zelle in A, usw.

Wie muss man da ansetzen, oder gibt es eine Möglichkeit ohne Makro?

Danke schon mal recht herzlich.

Gruß
Peter
 

Lesen sie die antworten

#1 Eberhard Funke
26/06/2009 - 22:27 | Warnen spam
Am Fri, 26 Jun 2009 21:08:03 +0200 schrieb Peter Muehlbauer:

Hallo Gemeinde,

ich habe ein àhnliches Problem bei einer Tabelle, die mit einem Barcodescanner
gefüllt wird, der nach jeder Eingabe standardmàßig ein CR/LF anfügt:

A B C D


.

Probleme gibt es nur mit der Eingabe.
Durch das CR/LF wird nach Eingabe in A zur nàchsten Zelle in A gesprungen,
genauso wie Eingabe in B zur nàchsten Zelle in B springt.

Wie kann man das so hinbekommen, daß die jeweils aktive nàchste Zelle im
Zick-Zack durchlaufen wird?
Also nach Eingabe in A wird zu B gesprungen, nach Eingabe in B wieder zur
nàchsten freien Zelle in A, usw.




Hallo Peter,

mich irritiert etwas das "zur nàchsten *freien" Zelle".

Du meinst wohl: A1 --> B1 --> A2 --> B2 --> A3 usw.

Mit Barcodescanner kenne ich mich nicht aus; wie Du also das CR/LF durch
untenstehenden Code ersetzen kannst ...?

Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Me.Columns("A:B")) _
Is Nothing Then Exit Sub
Select Case Target.Column
Case 1
Target.Offset(0, 1).Select
Case 2
Target.Offset(1, -1).Select
End Select
End Sub

Der Code gehört in das Modul desjenigen Tabellenblattes, in dem die o. g.
Eingaben erfolgen.

Bei "hàndischer" Werteingabe in A1 & Eingabetaste wird B1 selektiert usw.

Mit freundlichen Grüssen Eberhard
XP home XL 2000
Eberhard(punkt)W(punkt)Funke(at)t-online.de

Ähnliche fragen