Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1604to1608
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Bindesstrich nach bestimmtem Buchstaben

Bindesstrich nach bestimmtem Buchstaben
27.01.2018 09:26:39
Alexander
Hallo Community,
ich bräuchte ein Excel vba workbook_change.
wenn ich in eine zelle bestimmte Buchstaben eingeben, fügt er automatisch nach diesem Buchstaben einen bindesstrich ein.
z.b. für D,G und F eingabe "FABCD":
Skript macht daraus "F-ABCD" oder eingabe "DABCD" = "D-ABCD"
für alle anderen Buchstaben soll der bindesstrich nach dem zweiten Buchstaben eingefügt werden.
z.b. eingabe "OEABC" wird zu "OE-ABC" "HBABC" wird zu "HB-ABC" usw....
Danke und Lg

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bindesstrich nach bestimmtem Buchstaben
27.01.2018 09:28:37
Hajo_Zi
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Keine Ahnung wann nach 2 Buchstaben.

Anzeige
AW: Bindesstrich nach bestimmtem Buchstaben
27.01.2018 10:58:10
Alexander
https://www.herber.de/bbs/user/119317.xlsx
angewendet auf alle zellen des blattes
und immer nach 2 Buchstaben automatisch "-" einsetzen, ausser der erste Buchstabe ist D,F,N,G,C. dann "-" nach diesen Buchstaben.
AW: Bindesstrich nach bestimmtem Buchstaben
27.01.2018 11:00:23
Hajo_Zi
gut dann habe ich es wohl falsch gelesen, das dies über Makro passiert.
Gruß Hajo
geht auch mit Formeln ...
27.01.2018 10:54:00
Matthias
Hallo
Formel muss natürlich mit ODER() erweitert werden,
aber vom Prinzip her geht es so:
Tabelle1

 CD
10FABCDF-ABCD

Formeln der Tabelle
ZelleFormel
D10=WENN(LINKS(C10)="F";WECHSELN(C10;LINKS(C10);LINKS(C10)&"-");C10)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Oder muss es VBA sein?
Gruß Matthias
Anzeige
AW: geht auch mit Formeln ...
27.01.2018 11:41:47
Alexander
hallo Matthias,
ja leider, auf die Idee mit der formal bin ich auch schon gekommen aber die formel wäre dann extra lang.
trotzdem danke
lg
kann man halbieren
27.01.2018 11:59:23
wf
Hi,
=WECHSELN(LINKS(C10);"F";"F-")&TEIL(C10;2;9)
WF
AW: kann man halbieren
27.01.2018 12:01:33
Alexander
hallo wf,
wir habens über vba gelöst aber diese formel hilf mir bei einem anderen Problem.
danke und Lg
mein Ansatz war auch falsch wg. FABFD
27.01.2018 12:40:14
Matthias
Hallo Walter
mein Ansatz war auch falsch wg. Doppler als Zeichen im String
FABFD
Tabelle1

 CD
10FABFDF-ABF-D

Formeln der Tabelle
ZelleFormel
D10=WENN(LINKS(C10)="F";WECHSELN(C10;LINKS(C10);LINKS(C10)&"-");C10)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Das hatte ich nur schnell mal so geschrieben ohne weiter zu testen.
Aber Halbiert war Dein Vorschlag trotzdem nicht (mathematisch gesehen) ;-)
Gruß Matthias
Anzeige
zweidritteln klingt blöd
27.01.2018 13:44:50
wf
.
AW: Bindesstrich nach bestimmtem Buchstaben
27.01.2018 10:57:25
Sepp
Hallo Alexander,
in das Mosul der Tabelle.
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRng As Range

On Error GoTo Errorhandler
Application.EnableEvents = False
If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
  For Each objRng In Intersect(Target, Range("A2:A100"))
    If InStr(1, objRng, "-") = 0 Then
      If Left(objRng, 1) Like "[D,F,G]" And Len(objRng) > 1 Then
        objRng = Left(objRng, 1) & "-" & Mid(objRng, 2)
      ElseIf Not Left(objRng, 1) Like "[D,F,G]" And Len(objRng) > 2 Then
        objRng = Left(objRng, 2) & "-" & Mid(objRng, 3)
      End If
    End If
  Next
End If

Errorhandler:
Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Bindesstrich nach bestimmtem Buchstaben
27.01.2018 11:37:29
Alexander
hallo sepp!
funktioniert fast, er macht bei allen nach 2 Buchstaben "-", auch bei D F G N C
https://www.herber.de/bbs/user/119318.xlsm
Lg
AW: Bindesstrich nach bestimmtem Buchstaben
27.01.2018 11:42:22
Sepp
Hallo Alexander,
na ja, wenn du D, F und G schreibst, dann ist das für mich eben D, F und G und nicht d, f und g!
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim objRng As Range

On Error GoTo Errorhandler
Application.EnableEvents = False
If Not Intersect(Target, Range("A2:D100")) Is Nothing Then
  For Each objRng In Intersect(Target, Range("A2:D100"))
    If InStr(1, objRng, "-") = 0 Then
      If UCase(Left(objRng, 1)) Like "[C,D,F,G,N]" And Len(objRng) > 1 Then
        objRng = Left(objRng, 1) & "-" & Mid(objRng, 2)
      ElseIf Not UCase(Left(objRng, 1)) Like "[C,D,F,G,N]" And Len(objRng) > 2 Then
        objRng = Left(objRng, 2) & "-" & Mid(objRng, 3)
      End If
    End If
  Next
End If

Errorhandler:
Application.EnableEvents = True
End Sub

Gruß Sepp

Anzeige
AW: Bindesstrich nach bestimmtem Buchstaben
27.01.2018 11:59:27
Alexander
Weltklasse es rennt,
vielen dank für die schnelle hilfe sepp.
lg
alex

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige