Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Suchen und ersetzen (EX 2000 )





Frage

Hallo , ich komme Mal wieder nicht weiter: In Spalte B stehen die Zahlen 80-190 140-200 160-220 u.s.w. Da mir die Anordnung der Zahlen nicht gefallen,wollte ich diese formatieren. Über Suchen habe ich den Binde-Str.weggenommen,und da komme ich nicht weiter!!Das Leerzeichen zwischen den Zahlen bleibt und mein Format # - ##0 läßt sich nicht anwenden.Wenn Leerz. manuell gelöscht wird,dann funktionierts!!Danke für Rückantwort !! Rudolfo

Antwort 1 von nighty

hi alle

probiers so
##0"-"##0

gruss nighty

Antwort 2 von Rudolfo

hallo nighty,
danke für Rück.Wo ich den Knackpunkt sehe ist,dass ich das Leerzeichen
zw. 180 190 wegkriegen müsste.Dein Format.schlägt so auch nicht an.Bzw.kein Format schlägt so an!!
Bin zuwenig mit Suchen und ersetzen vertraut-gäbe es da eine Möglichkeit.

Danke
Rudolfo



Antwort 3 von Mikel

Ich weiß jetzt nicht wo dein Leerzeichen herkommt, aber wenn du bei "Suchen" den Bindstrich eingibst und das Feld "Ersetzen" leer läßt (auch kein Leerzeichen eingeben) solltest du dein gewünschtes Format (z.B. 80190, 140200 usw) erhalten.

Mikel

Antwort 4 von Rudolfo

Deine Antwort hat mir geholfen meine Frage zu Korrigieren :
Nach 80 habe ich ein Leerzeichen,dann Bindestrich dann Leerzeichen dann 180 !
Sorry
Welche Möglichkeit gebe es dazu.
Danke
Rudolfo

Antwort 5 von pelle

Hallo Rudolfo,

wenn ich ehrlich bin, verstehe ich nicht so ganz Dein Problem!!

Wenn Du als Zahl in Deiner Zelle:

80190 eingibst und sie wird als
80-190 dargestellt, kannst Du nicht mit "ersetzen" arbeiten!!!!

Du musst Dein Format #-##0 ändern;
z.B in: #.##0!

Versuch Dein Problem mal anders zu schildern!!

gruss
pelle

Ps.: kannst auch mal Beispieltabelle schicken!

Antwort 6 von Mikel

Hallo Rudolfo,

das Prinzip ist das gleiche.
Im Feld "Suchen" gibt du ein:
Leerzeichen Bindestrich Leerzeichen
und das Fels "Ersetzen" läßt du leer.

Bei dem Vorgang Suchen/Ersetzen wird die Zeichenfolge aus dem Suchen-Feld dur die Zeichenfolge im Ersetzen-Feld ersetzt. Steht dort nichts wird nur die Zeichenfolge aus dem Suchen-Feld gelöscht.

Mikel

Antwort 7 von nighty

hi alle

exel selbst hat sehr viele fehler

wie zum beispiel ueble wandlungsfehler von string>integer>stringrueckwandlung
ein leerzeichen wird vorangestellt unter bestimmten bedingungen die fuer mich nicht mehr nachvollziehbar waren habe daher eine fehlerroutine eingebaut die leerzeichen entfernt grrrrr !

oder formatierungen wie zum beispiel

##0"-"##0 so wird aus dieser
formatierung unter vb jetzt DIESE

##0" - "##0

somit das leerzeichen ertappt ist wer hat handschellen.

gruss nighty


Antwort 8 von nighty

hi rudolfo

hier ein makro was die startposition verlangt zum beispiel b2 es wird die gesamte tabelle abgearbeitet und alle zeichen die anders sind als 0-9 geloescht.ein durchlauf alles weg und formatierung benutzen oder einschreiben.

Sub Makro1()
wert01$ = InputBox("", "BITTE ANFANG ANGEBEN WIE ZUM BEISPIEL C10")
gglaenge = Len(wert01$)
anfangspalte$ = Mid$(wert01$, 1, 1)
anfangzeile$ = Mid$(wert01$, 2, gglaenge)
anfang01 = Val(anfangzeile$)
Dim zahl$(100)
Set LastCell = ActiveSheet.Cells.SpecialCells(xlLastCell)
alta = LastCell.Row
A = LastCell.Row
Do While Application.CountA(Rows(A)) = 0 And A <> 1
A = A - 1
Loop
alta = A
altb = LastCell.Column
b = LastCell.Column
Do While Application.CountA(Columns(b)) = 0 And b <> 1
b = b - 1
Loop
altb = b
lzeile = alta
lspalte = altb
For t% = Asc(anfangspalte$) To Asc(anfangspalte$) + lspalte - 1
For t1% = anfang01 To lzeile
laenge% = Len(Range(Chr$(t%) & t1%))
tt = 1
For t2% = 1 To laenge%
If Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(48) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(49) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(45) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(46) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(47) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(48) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(49) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(50) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(51) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(52) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(53) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(54) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(55) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(56) Or Mid$(Range(Chr$(t%) & t1%), t2%, 1) = Chr$(57) Then
zahl$(tt) = Mid$(Range(Chr$(t%) & t1%), t2%, 1)
tt = tt + 1
End If
Next t2%
Range(Chr$(t%) & t1%) = ""
For z = 1 To 100
If zahl$(z) <> "" And zahl$(z) <> "-" Then
Range(Chr$(t%) & t1%) = Str$(Range(Chr$(t%) & t1%)) + zahl$(z)
End If
Next z
Range(Chr$(t%) & t1%).Select
For z = 1 To 100
zahl$(z) = ""
Next z
Next t1%
Next t%
End Sub

gruss nighty

Antwort 9 von nighty

hi alle

entfernt auch sonderzeichen.

gruss nighty

Antwort 10 von Rudolfo

Danke
an alle die sich die Nächte um die Ohren hauen
und im Supportnet nach Rudolfo`s fragen schauen
die ihm helfen bis es geht

das DANKESCHÖN für alle steht.

Rudolfo

Antwort 11 von pelle

@Rudolfo,

ich nehme mir das Recht heraus,
für viele Helfende im SN zu antworten!

Wer "höflich" fragt, bekommt auch eine Antwort!

Wenn Rückmeldungen erfolgen, wie bei Dir,
macht die Hilfestellung noch mehr Spass!!

gruss
pelle

Antwort 12 von FlicFlash

warum so kompliziert?
Du hättest beim Suchen ein bindenstrich eingegeben und beim Ersetzen leerzeichen bindenstrich leerzeichen. Oder habe ich was verkehrt verstanden?

Gruß

Lea

Antwort 13 von shrike

Hi,

habe in dem Zusammenhang auch einen Makro-Vorschlag...

Hier wird der Benutzer nach Zeichen gefragt, die in einem markierten Bereich (kann auch die ganze Tabelle sein), gelöscht werden sollen:
Sub Zeichen_entfernen()
'Unerwünschte Zeichen in einem markierten Bereich entfernen
'Groß/Kleinschreibung wird dabei berücksichtigt, [shrike]
 
    Dim Eingabe, Zeichen As String
    Dim i As Integer
    Dim Auswahl As Range
  
    Eingabe = InputBox("Welche Zeichen sollen im markierten Bereich gelöscht werden?")
  
    Set Auswahl = Selection.Cells
    i = 1
    While i <= Len(Eingabe)
        Zeichen = Mid(Eingabe, i, 1)
        If Zeichen = "*" Or Zeichen = "?" Then Zeichen = "~" & Zeichen
        Auswahl.Replace What:=Zeichen, Replacement:="", LookAt:=xlPart, MatchCase:=True
        i = i + 1
    Wend
End Sub

Zur Beachtung: Gibt man z.B. im Dialogfeld die Zeichen ABC ein, dann werden ALLE A's, B's und C's im Bereich gelöscht und nicht etwa nur die Zeichenfolge ABC! Das ließe sich ja über "Berabeiten-Ersetzen" erledigen.

PS: Die IF-Zeile ist nötig, um Stern und Fragezeichen ordentlich entfernen zu können, denn das sind ja normalerweise Platzhalter und würden sonst alles über den Jordan schicken ;-)

shrike

Antwort 14 von shrike

Man könnte also die gesamte Tabelle markieren und z.B. sowas eingeben:

!"§$%&/()=?*;:_,.-#+{[]}?*+

shrike