Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Eingabe wie bei Paysafecard
#1
Hallo zusammen,

Unser Geschäft akzeptiert paysafecard. Zur Kontrolle werden alle Paysafecard-Karten mit dem 16 stelligen code in einer Exceltabelle gesammelt und gespeichert.
Der Code besteht aus 4x4 Zeichen, gleich 16 Zeichen!
Nun möchte ich das nach Eingabe von 4 Zeichen in einer Zelle, das der Cursor automatisch in der danebenliegenden Zelle weiterschreibt. Es sind in Vergangenheit zu viele Fehler da gemacht worden.
Habe Erfolglos gegoogelt, geht das mit Excel Überhaupt?

Test Datei anbei.

Danke schon vorab  :17:


Angehängte Dateien
.xlsx   Paysafecard.xlsx (Größe: 8,7 KB / Downloads: 7)
Antworten Top
#2
Hallo,

A: darf/sollte man diese Kartennummern unverschlüsselt speichern?

B: Am einfachsten dürfte es sein, alle 16 Zeichen in eine Zelle zu schreiben und dann mit einen kleinen Makro und der Cells.Parse [xxxx-xxxx-xxxx-xxxx] auf 4 Zellen zu verteilen.

mfg

(aus dem Gedächtnis)
Antworten Top
#3
Moin!
Sind es immer Ziffern, sind es immer genau 16?
Dienen die Zifferngruppen "nur" der Übersichtlichkeit?
Dann Datengültigkeit, Länge ist 16
Das Splitten dann mittels ziehbarer Formel:

ABCDE
112345678123456781234567812345678

ZelleFormel
B1=TEIL($A1;SPALTE(A1)*4-3;4)
C1=TEIL($A1;SPALTE(B1)*4-3;4)
D1=TEIL($A1;SPALTE(C1)*4-3;4)
E1=TEIL($A1;SPALTE(D1)*4-3;4)

ZelleGültigkeitstypOperatorWert1Wert2
A1Textlängegleich16

Automatismus ist nicht so ohne weiteres möglich, da VBA im Bearbeitungsmodus kein auswertbares Ereignis triggert!

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
Noch ein wichtiger Hinweis:
Die Eingabezelle MUSS als Text formatiert sein, ansonsten greift die Anzeigegenauigkeit von Zahlen (15 Stellen)!  Exclamation
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#5
Per VBA in gleicher Zelle.
Voraussetzung wie oben (Textformat, Datengültigkeit)

Ins Modul des Tabellenblatts:

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
  If .Column = 1 And .CountLarge = 1 Then
    Application.EnableEvents = False
    .Value = Format(.Value, "@@@@ @@@@ @@@@ @@@@")
    Application.EnableEvents = True
  End If
End With
End Sub

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Hallo Ralf und alle anderen,

werde gleich eure Vorschläge mal testen. Danke!

und Ja es sind immer Ziffern und immer 16 Stück...
und sie werden nur intern der Übersichtkeit gesammelt :19:
Antworten Top
#7
Habe es getestet und eigendlich gefällt es mir ganz gut. Besser wäre es natürlich wenn der Sprung nach 4 Zeichen automatisch erfolgen würde,
aber wenn Excel das nicht zuläßt kann man nichts machen.
Trotzdem eine gute Notlösung. Vielen Dank :18:
Antworten Top
#8
Dazu hat MS Userforms erfunden:


Angehängte Dateien
.xlsb   __Paysafecard_snb.xlsb (Größe: 17,43 KB / Downloads: 13)
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste