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
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
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
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
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!
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
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
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
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
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
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
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
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:
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
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
!"§$%&/()=?*;:_,.-#+{[]}?*+
shrike

