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.

Entfernen von Bindestrichen bei der Eingabe von Daten
#1
Hallo und guten Tag,

da ich ein absoluter Newbee bei Funktionen in Excel bin, würde ich mich über eine kurze Hillfestellung sehr freuen - so sie denn überhaupt möglich ist. Das Szenario ist folgendes:
  • Ein User kopiert eine alphanumerische Zeichenfolge aus einem Dokument (uns nicht bekannt, welche Dokumentenform) und fügt diese Zeichenfolge in eine Zelle eines von uns gelieferten Excel-Sheets ein.
  • Der Einfachheit halber ein Beispiel: AA15-BB13-CC14-DD17
  • Das Excelsheet wird nach der "Befüllung" von einem anderen Programm importiert, welches sich aber an den Bindestrichen in den Zeichenfolgen stößt und auf einen Fehler läuft.

Mein Frage(n) jetzt:
  • wie ist es zu verhindern, dass Bindestriche mit in die Zeichenfolge einfließen? Wir können jetzt bei einem Datensatz von ca. 300 Positionen nicht verlangen, das diese Bindestriche nachträglich händisch enfernt werden.
  • Wir haben auch schon den Hinweis im Dokument selber gegeben, das "13 Stellen alphanumerisch (ohne Bindestriche)" erwartet werden, aber können demjenigen, welcher das Dokument befüllt, nicht auf die Finger hauen.
  • Ist es irgendwie möglich einer Zeichenfolge, welche mit Copy 'n Paste dort eingefügt wird, der Bindestriche zu berauben?

Bin für jeden Tipp dankbar und verbleibe mit einem  43
Antworten Top
#2
Hi,

Bereich markieren, Suchen/Ersetzen, "-", fertig.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antworten Top
#3
Hallo,

vlt. mit einer Hilfsspalte
Code:
=WECHSELN(A1;"-";"")

oder per Makro
Gruß Dirk
---------------
100  - Wenn du nicht weißt, wo du hin willst, ist es egal, welchen Weg du einschlägst.

Antworten Top
#4
Da "Suchen und Ersetzen" (siehe Edgar) so gut versteckt ist (Register Start, Bearbeiten):
   

Ich nehme aus Gewohnheit lieber den Shortcut Strg+h

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
#5
Hallo,

danke für die zahlreichen Antworten. Das mit dem "Suchen und Ersetzen" war natürlich schon in der Pipeline, sooo unbedarft sind wir auch nicht Smile

Nur würde diese Arbeit halt an und hängen bleiben. Am liebsten wäre es uns, wenn das kopierte AA15-BB13-CC14-DD17 nach dem Einfügen in die Zelle sich in ein AA15BB13CC14DD17 (also ohne Bindestriche) umwandelt.

DAS wäre natürlich das Optimale.

Gruß von der Küste 43
Antworten Top
#6
Mir fällt da als erstes das Worksheet_Change Event ein
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    Target = Join(Split(Target, "-"), "")
End Sub

Das hat aber seine Tücken, z.B. wenn mehrere Zeilen ausgewählt sind bzw. eingefügt werden. Das müsste man entspr. berücksichtigen

Warum entfernt ihr die überflüssigen "-" nicht vor dem Import in das nächste Programm (mit VBA, Powerquery usw.)
Antworten Top
#7
(08.06.2023, 13:13)DeltaX schrieb: Das hat aber seine Tücken, z.B. wenn mehrere Zeilen ausgewählt sind. Das müsste man entspr. berücksichtigen

Dies ließe sich am einfachsten mittels Range.Replace-Methode lösen:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
  If .Column = 1 Then .Replace "-", "", xlPart
End With
End Sub

Das klappt auch mit mehreren Zellen, die eingefügt werden.
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)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • DeltaX
Antworten Top
#8
Zitat:Ein User kopiert eine alphanumerische Zeichenfolge aus einem Dokument (uns nicht bekannt, welche Dokumentenform)
Kann man einfach und besser automatisieren
z.B.

Code:
Sub M_snb()
   Application.InputBox("select", "markiere", , , , , , 8).Copy
End Sub
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