Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
440to444
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
440to444
440to444
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Text entfernen

Text entfernen
19.06.2004 22:48:46
Katja
Hallo!
Ich habe noch nicht so lange mit Excel gearbeitet und habe jetzt eine Frage an euch Profis:
Wie kann ich aus allen Zellen einer Tabelle den Text und ein paar Sonderzeichen entfernen.
Zahlen sollen dabei aber NICHT verloren gehen.
Über eine Antwort würde ich mich freuen.
LG
Katja

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text entfernen
19.06.2004 23:05:39
Josef
Hallo Katja!
Alle Zellen! Das kann aber dauern, wenn deine Tabelle rcht groß ist.
Dieser Code entfernt alle Zeichen die keine Zahlen sind aus den ausgewählten Zellen.
Kommas werden auch nicht entfernt!

Sub textEntfernen()
Dim rng As Range
Dim strTemp As String
Dim intC As Integer
For Each rng In Selection
For intC = 1 To Len(rng)
If IsNumeric(Mid(rng, intC, 1)) Or Mid(rng, intC, 1) = "," Then
strTemp = strTemp & Mid(rng, intC, 1)
End If
Next
rng = strTemp * 1
strTemp = ""
Next
End Sub

(Alt+F11 &gt Einfügen &gt Modul &gt in das rechte Fenster den Code kopieren)
Gruß Sepp
Anzeige
AW: Text entfernen
20.06.2004 14:25:42
Katja
Hallo Sepp!
Vorweg ein herzliches Dankeschön für die liebe Müh!
Ich hab mich nbisserl eingefuchst und das Modul nach deiner Anweisung erstellt.
Leider kann ich das Makro nicht ausführen.
Ich bekomme die Meldung:
"Laufzeitfehler 13
Typen unverträglich"
Wenn ich dann auf "Debuggen" gehe, zeigt er mir einen Fehler in folgender Zeile an:
rng = strTemp * 1
AW: Text entfernen
Gerd
Nimm diesen Code:
Option Explicit

Sub textEntfernen()
Dim rng As Range, strTemp As Variant, intC As Integer
For Each rng In Selection
If rng <> "" Then
For intC = 1 To Len(rng)
If IsNumeric(Mid(rng, intC, 1)) Or Mid(rng, intC, 1) = "," Then
strTemp = strTemp & Mid(rng, intC, 1)
End If
Next
rng = strTemp * 1
strTemp = ""
End If
Next
End Sub

Gerd
Anzeige
AW: Text entfernen
20.06.2004 15:03:05
Katja
Oh, hi Gerd!
Danke, dieser Code funktionier!
Frage mich nur gerade was "option explicit" heißt . . .?
Muss ich das irgendwie aktivieren . . . deaktivieren . . . whatever . . .?
LG
Katja :)
AW: Text entfernen
Gerd
Option Explicit bedeutet nur, dass Variablen deklariert werden müssen.
Gerd
AW: Text entfernen
20.06.2004 15:50:34
Katja
Ähm . . . hoffe ich nerve nicht, aber ich hab noch ne Frage:
Mir fällt gerade auf, dass ich die Begriffe "pos" und "neg" ebenfalls nicht löschen möchte.
Ich habe daraufhin deinen Code folgendermaßen geändert:

Sub textEntfernen2()
Dim rng As Range, strTemp As Variant, intC As Integer
For Each rng In Selection
If rng <> "" Then
For intC = 1 To Len(rng)
If IsNumeric(Mid(rng, intC, 1)) Or Mid(rng, intC, 1) = "," Or Mid(rng, intC, 1) = "neg" Or Mid(rng, intC, 1) = "pos" Then
strTemp = strTemp & Mid(rng, intC, 1)
End If
Next
rng = strTemp * 1
strTemp = ""
End If
Next
End Sub

Jetzt bekomme ich aber wieder eine Fehlermeldung.
Kurzum: wie kann ich selbständig selber Begriffe hinzufügen, die NICHT gelöscht werden sollen?
Oh, ihr seid ja echt aktiv hier!
Find ich super! :)
LG
Katja
Anzeige
AW: Text entfernen
20.06.2004 15:58:50
Nepumuk
Hallo Katja,
dann kannst du meinen Code nicht verwenden. Das musst du abfragen, bevor du in die Schleife einsteigst.
If rng "" And rng "neg" and rng "pos" Then
Gruß
Nepumuk
AW: Text entfernen
20.06.2004 16:39:50
Katja
Hi Ihrz!
Hab ich gemacht! Allerdings bringt Excel immer noch die Fehlermeldung "Laufzeitfehler 13 / Typen unverträglich"
Mein Makro sieht momentan folgendermaßen aus:
ub textEntfernen2()
Dim rng As Range, strTemp As Variant, intC As Integer
For Each rng In Selection
If rng "" And rng "neg" And rng "pos" And rng "neg." And rng "pos." Then
For intC = 1 To Len(rng)
If IsNumeric(Mid(rng, intC, 1)) Or Mid(rng, intC, 1) = "," Or Mid(rng, intC, 1) = "pos" Or Mid(rng, intC, 1) = "neg" Or Mid(rng, intC, 1) = "pos." Or Mid(rng, intC, 1) = "neg." Then
strTemp = strTemp & Mid(rng, intC, 1)
End If
Next
rng = strTemp * 1
strTemp = ""
End If
Next
End Sub
P.S.
Bitte nicht streiten! Hab schon mit meinem Freund genug trouble! :)
Anzeige
AW: Text entfernen
20.06.2004 16:59:11
Nepumuk
Hallo Katja,
so geht's:


Sub textEntfernen2()
    Dim rng As Range, strTemp As Variant, intC As Integer
    For Each rng In Selection
        If rng <> "" And rng <> "neg" And rng <> "pos" And rng <> "neg." And rng <> "pos." Then
            For intC = 1 To Len(rng)
                If IsNumeric(Mid(rng, intC, 1)) Or Mid(rng, intC, 1) = "," Or Mid(rng, intC, 1) = "pos" Or Mid(rng, intC, 1) = "neg" Or Mid(rng, intC, 1) = "pos." Or Mid(rng, intC, 1) = "neg." Then
                    strTemp = strTemp & Mid(rng, intC, 1)
                End If
            Next
            If InStr(1, strTemp, ",") Then
                If strTemp = "," Or InStr(InStr(1, strTemp, ",") + 1, strTemp, ",") > 0 Then
                    rng = ""
                    strTemp = ""
                End If
            End If
            If strTemp <> "" Then rng = strTemp * 1 Else rng = ""
            strTemp = ""
        End If
    Next
End Sub


Gruß
Nepumuk
Anzeige
AW: Text entfernen
20.06.2004 19:18:29
Katja
Aaaah, jetzt funzt's! :)
*Freu*
Vielen, vielen Dank!
Macht weiter so!
Liebe Grüße
Katja
AW: Text entfernen
20.06.2004 14:52:26
Katja
Huch, kam gar nicht dazu meine Frage zu Ende einzugeben!
Also noch ein Beitrag:
Ich hab versucht diese Zeile 13 zu verstehen und zu ändern, aber nix erreicht. :(
Kannst du mir vielleicht weiterhelfen?
Lieber Gruß,
Katja
AW: Text entfernen
20.06.2004 15:26:25
Nepumuk
Hallo Katja,
so geht's am schnellsten:


Public Sub Katja()
    Dim intIndex As Integer
    Dim strAusschluss As String
    Application.ScreenUpdating = False
    strAusschluss = ",42,46,48,49,50,51,52,53,54,55,56,57,63,"
    For intIndex = 33 To 255
        If InStr(1, strAusschluss, "," & CStr(intIndex) & ",") = 0 Then Cells.Replace Chr(intIndex), "", xlPart
    Next
    Cells.Replace "~*", "", xlPart
    Cells.Replace "~?", "", xlPart
    Application.ScreenUpdating = True
End Sub


Gruß
Nepumuk
Anzeige
AW: Text entfernen
Gerd
So werden auch Kommata entfernt!
Gerd
Quatsch
20.06.2004 15:48:23
Nepumuk
AW: Quatsch
Gerd
Wenn du meinst, dass das der richtige Ton ist, ok.
Gerd
AW: Quatsch
Kurt
Wie es in den Wald hineinschallt, so schallt es auch wieder heraus
AW: Quatsch
Gerd
Eine große Erkenntnis gelassen ausgesprochen, Hut ab, Kurt.
Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige