Suchen und Ersetzen in Excel 2003

Dieses Thema Suchen und Ersetzen in Excel 2003 im Forum "Microsoft Office Suite" wurde erstellt von berliner-loewe, 26. Juni 2005.

Thema: Suchen und Ersetzen in Excel 2003 Hallo Gemeinde, stehe, wie so oft an diesem Wochenende, schon wieder auf dem Schlauch. Wenn ich bei Suchen und...

  1. Hallo Gemeinde,

    stehe, wie so oft an diesem Wochenende, schon wieder auf dem Schlauch.

    Wenn ich bei Suchen und Ersetzen z. B. schreibe Suche Stück und Ersetze durch nichts, löscht er alles wo Stück steht, auch Stückzahl, so das nur noch zahl da steht.

    Kann man das irgendwie abfangen, so das wirklich nur das Wort Stück entfernt wird und Stückzahl Stückzahl bleibt,

    Hoffe es ist für euch verständlich.

    Danke im voraus und geniesst den Sonntagabend.
     
  2. Hallo bla bla,

    das nachfolgende Makro sollte dir bei deinem Problem helfen. Es ist nur für Strings geeignet, nicht für Datums- oder Zahl-Formatierungen.  ;D  Aber das brauchst du anscheinend.

    Zur Funktion:
    Zuerst erfolgt die Eingabe des Suchwortes (keine Leerzeichen zugelassen !)
    Dann die Eingabe des Ersatz-Strings (Leerzeichen zugelassen)

    Das Makro untersucht an den Fundstellen den Text.
    - haben Such-Text und Text die Gleiche Länge, wird ersetzt.
    - steht das Such-Wort am Anfang des Textes und es folgt ein Leerzeichen, wird ersetzt.
    - steht das Such-Wort am Ende des Textes und steht ein Leerzeichen, wird ersetzt.
    - steht das Such-Wort in der Mitte des Textes und steht ein Leerzeichen vor und hinter dem text, wird ersetzt.

    Gruß Matjes :)
    Code:
    Option Explicit
    
    Sub SuchenErsetzen_NurAlsGanzesWort()
    
    Dim Zelle As Range
    Dim s_Suchen As String, s_Ersetzen As String
    Dim pos As Long, ret As Integer, l_len As Long
    Dim s_Text As String, ersteAdresse As String
    
    
      Do
    EingabeSuchen:
        s_Suchen = InputBox(Bitte geben sie das Suchwort ein !, _
                  Eingabe Suchwort, s_Suchen)
      
        If 0 < InStr(1, s_Suchen,  ) Then
          MsgBox (keine Eingabe von Leerzeichen erlaubt.)
          GoTo EingabeSuchen
        End If
      
    EingabeErsetzen:
        s_Ersetzen = InputBox(Bitte geben sie den Ersatz-String ein !, _
                   Eingabe Ersetzen durch, s_Suchen)
      
        ret = MsgBox( _
                Suchen  : & vbTab & s_Suchen & vbLf & _
                Ersetzen: & vbTab & s_Ersetzen & vbLf & vbLf & _
                Soll dies durchgeführt werden ? , _
                vbYesNoCancel + vbQuestion + vbDefaultButton2)
        If ret = vbCancel Then Exit Sub
        If ret = vbYes Then Exit Do
      Loop
    
      With ActiveSheet.UsedRange
        Set Zelle = .Find( _
                      What:=s_Suchen, _
                      LookIn:=xlValues, _
                      Lookat:=xlPart, _
                      MatchCase:=True)
        If Not Zelle Is Nothing Then
          ersteAdresse = Zelle.Address
          Do
            s_Text = Zelle.Value
            pos = InStr(1, s_Text, s_Suchen)
            If Len(s_Suchen) = Len(s_Text) Then
              Zelle.Value = s_Ersetzen
            ElseIf pos = 1 Then
             ->Begriff steht am Anfang
             ->folgt ein Leerzeichen ?
              If Mid(s_Text, Len(s_Suchen) + 1, 1) =   Then
                s_Text = s_Ersetzen & Right(s_Text, Len(s_Text) - Len(s_Suchen))
                Zelle.Value = s_Text
              End If
            ElseIf Len(s_Text) = pos - 1 + Len(s_Suchen) Then
             ->Begriff steht am Ende
             ->davor ein Leerzeichen ?
              If Mid(s_Text, pos - 1, 1) =   Then
                s_Text = Left(s_Text, pos - 1) & s_Ersetzen
                Zelle.Value = s_Text
              End If
            Else
             ->Begriff steht in der Mitte
             ->Leerzeichen davor und dahinter ?
              If (Mid(s_Text, pos - 1, 1) =  ) And (Mid(s_Text, pos + Len(s_Suchen), 1) =  ) Then
                s_Text = Left(s_Text, pos - 1) & s_Ersetzen & Right(s_Text, Len(s_Text) - pos + 1 - Len(s_Suchen))
                Zelle.Value = s_Text
              End If
            End If
            
            Set Zelle = .FindNext(Zelle)
          Loop While Not Zelle Is Nothing And Zelle.Address <> ersteAdresse
        End If
    End With
    
    Aufraeumen:
      Set Zelle = Nothing
    End Sub
     
  3. Hi Matjes,

    danke für deine Mühe und den wundervollen Code.

    Gibt es denn keine Möglichkeit ohne Programmierung? ???
    Wäre über Lösung sehr erfreut :)

    Grüße aus Berlin
     
  4. Hallo,

    versuch es mal mit Suchen und Ersetzen - ersetzen - Optionen - gesamten Zellinhalt vergleichen anhacken

    Vielleicht klappt es ja.

    Gruß netschlau
     
Die Seite wird geladen...

Suchen und Ersetzen in Excel 2003 - Ähnliche Themen

Forum Datum
Access 2003: Defaultwert für "Vergleichen" im "Suchen und ersetzen"-Dialog änder Windows XP Forum 24. März 2011
Fenster "Suchen und Ersetzen" verkleinern Windows 7 Forum 29. Aug. 2010
Word 2000: Symbol suchen und ersetzen Microsoft Office Suite 21. Feb. 2010
batch: suchen und ersetzen in textdateien Webentwicklung, Hosting & Programmierung 4. Juli 2008
suchen und ersetzen über verzeichnisse und abarbeiten einer liste Windows XP Forum 25. Sep. 2007