Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: ß durch - ersetzen

ß durch - ersetzen
10.01.2013 10:32:45
Sascha
Hallo,
ich lasse über ein UserForm eine Tabelle füllen, dies geschieht über einen Scanner der sich via RDP mit einer virtuellen Maschine verbindet.
Leider unterstützt dieser nur das englische Tastaturlayout für die RDP-Sitzung, immer wenn ein "-" eingescannt wird schreibt dieser ein "ß" zurück.
Kann man meine Excelliste so einstellen, dass ein "ß" automatisch durch ein "-" ersetzt wird?
LG
Sascha

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
STRG+F
10.01.2013 10:37:17
Klaus
Hallo Sascha,
sicher geht das irgendwie, aber wozu kompliziert in den Windows-Einstellungen oder APIs rumwursteln wenns auch mit Boardmitteln geht?
wirf den Rekorder an, benutze über den Bereich eimal STRG+F (suchen und ersetzen) und ersetze die Zeichen manuell.
Den Rekordercode flickst du nun hinter den "Tabellen-Füllcode" deiner Userform.
Wenn du mehr Hilfe brauchst, poste bitte deinen Code.
Grüße,
Klaus M.vdT.

Anzeige
Oder direkt mit STRG+H (owT)
10.01.2013 12:24:31
JACKD
.

AW: ß durch - ersetzen
10.01.2013 10:48:14
Sascha
Hallo Klaus,
nein STRG+F geht leider nicht über den Scanner. Es handelt sich hierbei um das UserForm welches du mir vor ein paar Tagen angelegt hattest. Jedes Mal wenn die Lager-ID gefüllt wird, dann schreibt den Scanner ein ß anstatt ein -.
Gruß
Sascha

Anzeige
ach, Sascha mit der Lagerliste! :-)
10.01.2013 10:50:40
Klaus
Hallo Sascha,
ach du bist das! Hatte deinen Vornamen nicht gleich zuordnen können.
Ich lad mir mal eben die alte Lagerliste runter (die finde ich ja) und baue dir den Code ein.
Bitte etwas Geduld.
Grüße,
Klaus M.vdT.

kurze Rückfrage zur Funktion des Scanners
10.01.2013 10:54:50
Klaus
Sascha,
bitte korrigier mich wo ich falsches vermute:
du clickst in der Userform manuell auf die Box für "Artikelnummer" und benutzt dann den Scanner. Der Scanner liest einen Barcode (oder wasimmer) und gibt eine Tastenfolge zurück, zB "4711" (und [ENTER]?)
Wichtig für mich zu wissen wäre: was gibt der Scanner genau aus, und folgt auf die Ausgabe automatisch ein ENTER oder nicht?
Grüße,
Klaus M.vdT.

Anzeige
AW: kurze Rückfrage zur Funktion des Scanners
10.01.2013 10:58:43
Sascha
Hallo Klaus,
richtig ich klicke manuell ins Feld, der Scanner liest den Barcode aus und füllt das Feld. Anschließend
folgt automatisch ein Enter.
Gruß
Sascha

AW: kurze Rückfrage zur Funktion des Scanners
10.01.2013 11:24:52
Klaus
Hallo Sascha,
ich kann bei herber leider keine *.bas, *.frm oder *.flx Dateien einzeln hochladen, darum anbei nochmal die gesamte Datei:
https://www.herber.de/bbs/user/83328.xlsm
Die Userform1 nebst dem gesamten Code dahinter kopierst du von 83328.xlsm in dein File hinüber, dann müsste da alles gehen.
Grüße,
Klaus M.vdT.

Anzeige
AW: kurze Rückfrage zur Funktion des Scanners
10.01.2013 12:19:00
Sascha
Hallo Klaus,
bei mir das ß bei LagerID nicht durch ein - ersetzt.
Wofür brauche ich das Scannerfeld?
Das verstehe ich noch nicht.
LG
Sascha

AW: kurze Rückfrage zur Funktion des Scanners
10.01.2013 12:26:52
Klaus
Hallo Sascha,
Du hattest meine Frage
"du clickst in der Userform manuell auf die Box für "Artikelnummer" und benutzt dann den Scanner"
mit "ja" beantwortet, darum dachte ich dass du die Artikelnummer scannst. Natürlich schreibst du weiter oben bereits "Lager-ID", das hatte ich nur überlesen.
Die Idee an dem Scannerfeld war, dass die Buchung direkt nach dem Scan (Enter) automatisch ausgeführt wird. Und ich war mir nicht sicher ob eine Combobox (Artikelnummer) das richtig macht - spielt bei LagerID aber keine Rolle.
Also, vergiss die Scannerbox und vergiss meinen letzten Dateiupload ;-)
Suche in deiner Datei nach der Codezeile (im Code für den eintragen-Button)
.Cells(lRow, 6).Value = Me.TextBox_LagerID
und ersetze sie durch:
.Cells(lRow, 6).Value = Application.WorksheetFunction.Substitute(Me.TextBox_LagerID, "ß", "-")
dann sollte das klappen.
Grüße,
Klaus M.vdT.

Anzeige
AW: kurze Rückfrage zur Funktion des Scanners
10.01.2013 12:57:45
Sascha
Hallo Klaus,
das war es.
Danke.
LG
Sascha

Danke für die Rückmeldung! owT.
10.01.2013 13:09:28
Klaus
.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ß durch - ersetzen in Excel


Schritt-für-Schritt-Anleitung

Um das Zeichen "ß" durch ein "-" in Excel zu ersetzen, kannst Du den folgenden VBA-Code in Deine UserForm einfügen. Dies geschieht in dem Bereich, wo Du die Lager-ID oder andere Eingaben verarbeitest.

  1. Öffne Deine Excel-Datei und gehe in den VBA-Editor (ALT + F11).
  2. Suche die UserForm, in der Du die Eingaben erhältst.
  3. Finde die Codezeile, die die Lager-ID speichert. Diese könnte ähnlich aussehen:
    .Cells(lRow, 6).Value = Me.TextBox_LagerID
  4. Ersetze diese Zeile durch den folgenden Code:
    .Cells(lRow, 6).Value = Application.WorksheetFunction.Substitute(Me.TextBox_LagerID, "ß", "-")
  5. Schließe den VBA-Editor und teste Deine UserForm, um sicherzustellen, dass das "ß" korrekt durch ein "-" ersetzt wird.

Häufige Fehler und Lösungen

  • Fehler: Das "ß" wird nicht ersetzt.

    • Lösung: Überprüfe, ob Du den Code an der richtigen Stelle eingefügt hast und dass die TextBox den richtigen Namen hat.
  • Fehler: Der Scanner gibt immer noch "ß" aus.

    • Lösung: Stelle sicher, dass der Scanner korrekt konfiguriert ist und dass die UserForm den Code ausführt, nachdem der Scanner die Eingabe gemacht hat.

Alternative Methoden

Falls Du keinen VBA-Code verwenden möchtest, kannst Du auch die „Suchen und Ersetzen“-Funktion nutzen:

  1. Markiere den Bereich, in dem Du das "ß" ersetzen möchtest.
  2. Drücke STRG + H, um das Dialogfeld „Suchen und Ersetzen“ zu öffnen.
  3. Gib im Feld „Suchen nach“ das Zeichen "ß" ein.
  4. Gib im Feld „Ersetzen durch“ das Zeichen "-" ein.
  5. Klicke auf „Alle ersetzen“.

Diese Methode ist jedoch manuell und muss jedes Mal wiederholt werden, wenn Du neue Daten eingibst.


Praktische Beispiele

Hier ist ein Beispiel, wie die Funktion in einer UserForm genutzt wird:

Private Sub btnEintragen_Click()
    Dim lRow As Long
    lRow = Worksheets("DeinBlatt").Cells(Rows.Count, 1).End(xlUp).Row + 1
    .Cells(lRow, 6).Value = Application.WorksheetFunction.Substitute(Me.TextBox_LagerID, "ß", "-")
End Sub

In diesem Beispiel wird das "ß" durch ein "-" ersetzt, wenn der Button „Eintragen“ gedrückt wird.


Tipps für Profis

  • Automatisiere den Prozess: Du kannst den Ersetzungsprozess weiter automatisieren, indem Du das Ersetzen auch für andere Felder implementierst, die möglicherweise "ß" enthalten.
  • Nutze Barcode Scanner effektiv: Wenn Du einen barcode scanner verwendest, achte darauf, dass der Scanner so konfiguriert ist, dass er die Zeichen korrekt überträgt. Wenn das englische Layout nicht unterstützt wird, kannst Du möglicherweise spezielle Einstellungen in den Scanner-Optionen vornehmen.
  • Verwende html ß code: Sollte es nötig sein, mit HTML zu arbeiten, ist der HTML-Code für "ß" ß, was in Webanwendungen hilfreich sein kann.

FAQ: Häufige Fragen

1. Frage Wie kann ich den Code anpassen, wenn ich mehrere Ersetzungen vornehmen möchte?

Antwort: Du kannst mehrere Substitute-Funktionen hintereinander verwenden. Zum Beispiel:

.Cells(lRow, 6).Value = Application.WorksheetFunction.Substitute(Application.WorksheetFunction.Substitute(Me.TextBox_LagerID, "ß", "-"), "ä", "a")

2. Frage Was mache ich, wenn der Scanner nichts ausgibt?

Antwort: Überprüfe die Verbindung des Scanners zur Excel-Anwendung und stelle sicher, dass der Scanner korrekt konfiguriert ist. Teste den Scanner in einem anderen Programm, um sicherzustellen, dass er funktioniert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige