nach längerer Zeit habe ich mal wieder eine Bitte.
Ich möchte per Change-Funktion prüfen, ob in einer Zelle (im Beispiel Range A1)ein Minuszeichen oder ein Leerzeichen verwendet wurde. Die Zelle ist eine Textzelle.
BEISPIEL:
Wenn also also eingetragen wird 1-2 3- 4-5 soll das Makro daraus machen 12345; aber NUR dann, sonst soll der Ausstieg per 'Exit Sub' erfolgen.
Die Umwandlung selbst ist noch etwas holprig, weil ich es zunächst per Recorder über Hilfszellen realisiert habe, aber es funzt. Zuerst wird das Minuszeichen entfernt und dann das Leerzeichen.
Was nicht klappt ist also die Prüfung per 'InStr" und dem anschließenden 'Exit Sub' wenn diese Zeichen NICHT vorkommen; das Makro läuft leider trotzdem durch.
Private Sub Worksheet_Change(ByVal Target As Excel.Range) If InStr(Cells(1, 1).Value, " ") = False Or InStr(Cells(1, 1).Value, "-") = False Then Exit Sub If Target.Address = "$A$1" Then Application.EnableEvents = False Range("A2").FormulaR1C1 = "=SUBSTITUTE(R[-1]C,""-"","""")" Range("A3").FormulaR1C1 = "=SUBSTITUTE(R[-1]C,"" "","""")" Range("A4").Select Range("A3").Copy Range("A1").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False Range("A2:A3").ClearContents Range("B1").Select MsgBox "Funktion angewendet" End If Application.EnableEvents = True End Sub Bei der InStr-Prüfung hatte ich auch schon anstatt 'value' mit 'text' versucht; geht leider auch nicht
Hat jemand eine Idee?
Vielen Dank vorab!
VG
Dietmar