Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1476to1480
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
Inhaltsverzeichnis

Lehrzeichen und Zeichen 160 entfernen

Lehrzeichen und Zeichen 160 entfernen
26.02.2016 11:27:20
Dieter(Drummer)
Guten Tag, VBA Spezialisten,
im Netz und im Forum habe ich diverse Makros gefunden, die ein Leerzeichen am Anfang und am Ende löschen und ein auch das Zeichen 160 löschen. Leider war kein Makro dabei, dass beide Varianaten in einem Makro hat. Habe einiges versucht, es aber nicht geschafft.
Ich suche folgendes Makro: Es sollen alle Leerzeichen am Anfang und am Ende UND das Zeichen 160 gelöscht werden. Bei Makroaufruf soll dann erst der Bereich markiert werden, für den das Ersetzten gilt.
Wäre schön, wenn es da etwas in der Richtung gibt.
Gruß, Dieter(Drummer)

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeichen und Zeichen 160 entfernen
26.02.2016 11:39:50
Rudi
Hallo,
mal ganz grob:
Sub aaa()
Dim r As Range
On Error Resume Next
Set r = Application.InputBox(prompt:="Bitte Bereich markieren", Type:=8)
On Error GoTo 0
If Not r Is Nothing Then
r.Replace Chr(32), "", xlPart
r.Replace Chr(160), "", xlPart
End If
End Sub
Gruß
Rudi

AW: Einfach excelent ...
26.02.2016 11:48:48
Dieter(Drummer)
Danke Rudi, einfach wieder prima und funktioniert korrekt. Gut ist ebenfalls, dass dein Makro sehr kurz ist.
Nochmal Danke und noch einen schönen Tag.
Gruß, Dieter(Drummer)

Ich möchte auch ein "Lehrzeichen" ;-)
26.02.2016 12:20:21
NoNet
Hi Drummer,
das "Lehrzeichen" kenne ich gar nicht, kannst Du mir das bitte mal zeigen ;-)
Spaß beiseite : Das Leerzeichen (Blank, ASCII-Zeichen 32) und das geschützte Leerzeichen (ASCII-Zeichen 160) können mit folgendem Makro gelöscht werden :
Sub Delete_Blanks_at_Start_and_End()
Dim rngCells As Range, rngC As Range
Dim arrV, lngT As Long, strA As String, lngI As Long
arrV = Array(32, 160) 'ASCII-Values
On Error Resume Next
For lngI = 1 To 2
For lngT = LBound(arrV) To UBound(arrV)
If lngI = 1 Then
Set rngC = Cells.Find(What:=Chr(arrV(lngT)) & "*", LookAt:=xlWhole, after:= _
Cells(1, 1))
Else
Set rngC = Cells.Find(What:="*" & Chr(arrV(lngT)), LookAt:=xlWhole)
End If
If Not rngC Is Nothing Then strA = rngC.Address
While Not rngC Is Nothing
If rngCells Is Nothing Then
Set rngCells = rngC
Else
Set rngCells = Union(rngCells, rngC)
End If
Set rngC = Cells.FindNext(after:=rngC)
If rngC.Address = strA Then Set rngC = Nothing
Wend
Next
Next
If rngCells Is Nothing Then
MsgBox "Keine relevanten Zellen gefunden !"
Else
'rngCells.Select
If MsgBox("Sollen jetzt folgende Zellen bereinigt werden :" & vbLf & vbLf & rngCells. _
Address, _
vbYesNo + vbQuestion, rngCells.Cells.Count & " Zellen bereinigen") = vbYes Then
For Each rngC In rngCells
rngC.Value = Trim(rngC.Value)
For lngT = LBound(arrV) To UBound(arrV)
While Left(rngC.Value, 1) = Chr(arrV(lngT))
rngC.Value = Mid(rngC.Value, 2, Len(rngC.Value) - 1)
Wend
While Right(rngC.Value, 1) = Chr(arrV(lngT))
rngC.Value = Left(rngC.Value, Len(rngC.Value) - 1)
Wend
Next
Next
MsgBox "Bereinigung beendet"
End If
End If
End Sub
Gruß, NoNet
Hast Du Interesse, andere Excel-Begeisterte kennenzulernen ? - Dann komme zum
Exceltreffen 06.-08.05.2016 bei Bonn
Landhaus Wieler - Hauptstr. 94-96 - D 53332 Bornheim
http://www.hotelwieler.de


http://www.exceltreffen.de/index.php?page=255
Anmeldungen sind noch bis 29.02.2016 möglich ! - Schau doch mal rein !

Anzeige
AW: Ich möchte auch ein "Lehrzeichen" ;-)
26.02.2016 12:58:50
Herbert
Ja wen haben wir denn da? Welch seltener Gast! Schön, dich auch mal wieder hier anzutreffen!
Juhuuh, ich möchte am "Exceltreffen" in Bonn teilnehmen! Was muss ich da machen? ;o)=) Und vor allem, kann ich da auch meine Ex-Geliebte mitnehmen? ;o)=)
Aber vorher habe ich noch einen Termin in München. Kommste mit? Ich habe mich auch schon gege einen kalten Hals eingedeckt! ;o)=)
Userbild
Servus

AW: Kann leider nicht teilnehmen, Herbert ...
26.02.2016 13:27:04
Dieter(Drummer)
... ich bin acuh kein seltener Gast im Forum, sondern sehe jeden Tag, schon seit Jahren, mir die aktuellen Sachen an. Es ist einfach sehr interessant.
Gruß, Dieter(Drummer)

Anzeige
OT: Der Winter ist zurück
26.02.2016 13:34:11
NoNet
Hiho Herbert,
habe heute "versehentlich" mal wieder hier rein geschaut (nichts Böses ahnend ;-)
Klaro kannst Du mit nach BONN kommen - gerne auch mit Deiner "Ex-Geliebten" (wenn es im Mai nicht zu warm dafür ist). Wir treffen uns jedoch nur "bei" Bonn (in Bornheim) und nicht "in" Bonn :-P
Übrigens : Rechtzeitig zu Deinem Outfit ist der Winter ja wieder zurück (wenn auch nicht mit der ganzen Strenge !). Klaro komme ich mit, auch wenn "meiner" 56 Jahre jünger ist als Deiner :-P
Salut, NoNet
PS: Wenn Dir Dein Schal nicht ausreicht, dann kann ich Dir eine Alternative anbieten - aber nicht hier, sondern in Deinem eMail-Postfach ;-))

Anzeige
AW: Danke NoNet, klappt prima ...
26.02.2016 13:23:51
Dieter(Drummer)
... herzlichen Dank und einen schönen Tag.
Gruß, Dieter(Drummer)

AW: Es bleibt nicht die Wahl des ...
26.02.2016 13:53:31
Dieter(Drummer)
Hallo NoNet,
in deinem Makro bleibt mir nicht die frei Wahl, welchen Bereich ich nutzen möchte. Es wird das gesamte Blatt bereinigt. Kanst du mir das bitte noch so ändern, dass ich den zu bereinigenden Bereich, nach Makroaufruf, selbst festlegen kann?. Wäre prima, wenn du das ncoh machen könntest. Wenn nicht, kann ich auch damit leben :-).
Übrigens eine schöne Variante in deinem Makro "'rngCells.Select", die die Zellen markiert, die bereinigt werden sollen, wenn man das Hochkomma entfernt.
Gruß, Dieter(Drummer)

Anzeige
vielleicht einen "Nürnberger Trichter"?
26.02.2016 12:50:45
Michael
Hi zusammen,
hier etwas "weniger grob", denn es sollen ja nur Leerzeichen am Anfang/Ende entfernt werden:
Sub aaa()
Dim r As Range, c As Range
On Error Resume Next
Set r = Application.InputBox(prompt:="Bitte Bereich markieren", Type:=8)
On Error GoTo 0
If Not r Is Nothing Then
For Each c In r
c.Value = Trim(LTrim(c.Value))
c.Replace Chr(160), "", xlPart
Next
End If
End Sub
Schöne Grüße,
Michael

AW: Dir auch herzlichen Dank, Michael ...
26.02.2016 13:28:25
Dieter(Drummer)
... klappt ebenfalls prima.
Gruß und einen schönen Tag, Dieter(Drummer)

AW: Lehrzeichen und Zeichen 160 entfernen
26.02.2016 18:34:40
Piet
Hallo an alle,
ich habe noch nie an einem Excel Treffen teilgenommen ...
Hört sich interessant an, interessante Leute mit Schal, dazu in meinem Alter.
Eine Geliebte kann ich leider nicht bringen, suche eher eine nette Freundin.
Habe dazu als Laie einige Fragen:
Was kostet die Anmeldung, wie teuer ist die Unterkunft?
Sich bis 29.2.2016 entscheiden ist knapp, lange Anreise.
Wieviele Leute werden ca. kommen? Bin nur neugierig.
mfg Piet

Anzeige
Folge dem Link auf NoNets Anzeige, ...
27.02.2016 00:25:30
Luc:-?
…Piet!
Nebenbei, es haben schon x+2 solche Treffen stattgefunden (zuzüglich 2er bei HWH). Etliche Teilnehmer (und hiesige AWer) sind in dem Alter, auch bei der …Konkurrenz“ von Clever-Xl-F (im September). Die ZeitPktt dieser jährlichen Treffen stehen schon seit Längerem fest.
Aber du scheinst ein ZeichenAnhänger zu sein, auch von „Lehrzeichen“… ;-]
Gruß, Luc :-?
Besser informiert mit …

AW: Lehrzeichen und Zeichen 160 entfernen
27.02.2016 09:26:41
Herbert
Hallo Piet,
na dann wird es aber Zeit, dass du damit anfängst! Ich, als Teilnehmer seit 2001, würde mich sehr Freund, wenn du dich dazu aufraffst. Schau dir mal unsere Homepage (www.exceltreffen.de oder nimm den Link von NoNet) an. Da sind alle bisherigen Treffen und viele Bilder zu sehen.
Wenn du noch Fragen hast, dann Mail me: hagrom at gmail.com
Servus
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige