ich habe die Suchen & Ersetzen funktion schon ausgereizt. Leider finde ich keine passende Loesung wie ich alle "No" nur am anfang einer Zelle loeschen kann.
Vielen Dank im Voraus.
Gruesse aus Kuala Lumpur.
Sub No()
Dim letzte As Long
Dim anz As String, neu As String
Dim diff As Double
Dim zelle As Range, Breich As Range
letzte = Range("A65536").End(xlUp).Offset(0, 0).Row
Set bereich = Range("A1:C" & letzte)
For Each zelle In bereich
If zelle.Value Like "No *" Then
anz = Len(zelle.Value)
diff = anz - 3
neu = Right(zelle.Value, diff)
zelle.Value = neu
End If
Next zelle
End Sub
löscht alle "No ", die nach dem No ein Leerzeichen haben. Wenn du grundsätzlich alle No löschen willst, die am Anfang stehen, musst du das Leerzeichen in If zelle.Value Like "No *" Then nach No rausnehmen, also so:
If zelle.Value Like "No*" Then
Hier jetzt für den bereich A1 bis C und letzte.
Gruß
Chaos
Sub Zahl()
Dim letzte As Long
Dim anz As String, neu As String
Dim diff As Double
Dim zelle As Range, Breich As Range
letzte = Range("A65536").End(xlUp).Offset(0, 0).Row
Set Bereich = Range("A1:C" & letzte)
For Each zelle In Bereich
If IsNumeric(Left(zelle.Value, 1)) Then
Dim I As Integer
Dim zähler As Long
zähler = 0
For I = 1 To Len(zelle.Value)
Select Case Mid(zelle.Value, I, 1)
Case ",":
Exit For
Case " ":
If Mid(zelle.Value, I + 1, 1) "," And Mid(zelle.Value, I + 1, 1) " " Then
Exit For
End If
End Select
zähler = zähler + 1
Next I
anz = Len(zelle.Value)
diff = anz - zähler - 1
neu = Right(zelle.Value, diff)
zelle.Value = Left(zelle.Value, zähler) & " " & neu
zelle.Value = Replace(zelle.Value, " ", " ")
zelle.Value = Replace(zelle.Value, " ", " ")
End If
Next zelle
End Sub
Gruß
Chaos