Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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

Leerzeichen

Leerzeichen
02.03.2021 09:56:27
Ralf
Hallo,
ich habe unterschiedlich viele Wörter in jeder Zelle einer Spalte stehen, die mit unterschiedliche vielen Leerzeichen unterbrochen sind.
Das liest sich unheimlich schwer.
Ich möchte das gerne so haben das die Leerzeich, bis auf eines, zwischen den Textteilen gelöscht werden.
Hab schon diverse Sachen aufgezeichnet, aber keine zufrieden stellende Lösung erhalten.
Vielleicht gibt es hier ja des rätsels Lösung.
Gruß Ralf

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: =glätten()
02.03.2021 10:01:33
Fennek
Hallo,
die genannte Funktion sollte alle doppoelten Leerzeichen entfernen.
In VBA geht es NICHT mit "Trim", sondern mit "Worksheetfunction.Clean()"
mfg
ungeprüft

AW: =glätten()
02.03.2021 10:27:16
Daniel
Das heißt dann schon WorksheetFunction.Trim.
Dieses löscht in Gegensatz zu VBA.Trim auch die inneren Doppelten Leerzeichen.
Clean müsste die Excelfunktion Säubern sein, welche Zeichen mit AsCii-Code kleiner 32 löscht.
Gruß Daniel

WSF.Trim (entspricht nicht VBA-native.Trim)
03.03.2021 16:03:49
lupo1

AW: Leerzeichen
02.03.2021 10:01:54
Sigi.21
Hallo Ralf,
das geht doch ganz einfach: "zwei Leerzeichen" ersetzen durch "ein(1) Leerzeichen". Evtl. mehrmals wiederholen, bis alle doppelten Leerzeichen weg sind.
Gruß
Sigi

Anzeige
AW: Leerzeichen
02.03.2021 10:14:08
Ralf
Das sind aber pro Tabellenblatt ca. 1000 Zeilen und pro Tabelle auch ca. 100 Tabellenblätter!

AW: Leerzeichen
02.03.2021 10:21:45
Sigi.21
Tja,
davon hast du nichts gesagt; dann ist es eben eine Strafarbeit für dich!
Alternativ:
Ein Makro schreiben, das 9, 8 ,7 .... 2 Leerzeichen durch eins(1) ersetzt; aber bei 100 Tabellen mit je 1000 Zeilen und wieviel Spalten? wird das eine schöne Weile laufen!
Sigi

AW: Ideen für den Zeitbedarf
02.03.2021 10:28:28
Fennek
Hallo,
VBA mit einer "guten" Programmierung (Array) sollte recht schnell gehen.
Aber wer 100 Sheets anlegt ...
mfg

AW: Ideen für den Zeitbedarf
02.03.2021 10:42:10
Ralf
Ich hab die ja nicht angelegt, bekomme die so zur Verfügung gestellt.

Anzeige
Das sagen alle :-)))))
04.03.2021 20:00:08
lupo1
Die Konsequenz beim Hilfe für Frager ohne Verantwortung ist keine Hilfe zur Selbsthilfe, da umsetzbare Erkenntnisse für gute Lösungen dabei nicht anfallen.
Es gibt also nur Fisch, keine Angel.

AW: Leerzeichen
02.03.2021 10:28:56
Nepumuk
Hallo Ralf,
teste mal:
Option Explicit

Public Sub Bereinigen()
    Dim objWorksheet As Worksheet
    For Each objWorksheet In ThisWorkbook.Worksheets
        Call objWorksheet.Cells.Replace(What:=Chr$(34) & Chr$(34), Replacement:=Chr$(34), LookAt:=xlPart)
    Next
End Sub

Gruß
Nepumuk

Anzeige
AW: Leerzeichen
02.03.2021 10:35:22
Nepumuk
Hallo Ralf,
wenn es mehrere Leerzeichen sind dann besser so:
Option Explicit

Public Sub Bereinigen()
    Dim objWorksheet As Worksheet
    Dim lngIndex As Long
    For Each objWorksheet In ThisWorkbook.Worksheets
        For lngIndex = 1 To 20
            Call objWorksheet.Cells.Replace(What:=Chr$(34) & Chr$(34), Replacement:=Chr$(34), LookAt:=xlPart)
        Next
    Next
End Sub

Wenn dann deine Texte noch nicht sauber sind, einfach nochmal laufen lassen.
Gruß
Nepumuk

Anzeige
AW: Leerzeichen
02.03.2021 10:48:13
Daniel
Hi
Chr(34) ist das Anführungszeichen, du meinst wahrscheinlich Chr(32)
wenn du wissen willst, wie man die Schleife so oft laufen lässt wie Doppelte Leerzeichen vorhanden sind, dann schau dir mal meine Lösung an.
Gruß Daniel

AW: Leerzeichen
02.03.2021 10:56:55
Daniel
jedes Entfernen halbiert die Anzahl der Leerzeichen.
da eine Excelzelle maximal 2^15 Zeichen enthalten kann, sollte es einfach auchsrechnen lassen, wieviele Umläufe man maximal benötigt.
Gruß Daniel

AW: Leerzeichen
02.03.2021 11:02:37
Ralf
Hallo Nepomuk,
das passt auch. Vielen lieben Dank euch allen.
Ihr habt mir enorm viel Aufwand abgenommen.
VG Ralf

Anzeige
AW: Leerzeichen
02.03.2021 10:32:49
Daniel
Hi
Für ein Tabellenblatt so
With ActiveSheet.Cells
Do
Set Zelle = .Find(what:="  ", lookat:=xlpart)
If Zelle is Nothing then Exit do
.Replace "  ", " ", xlpart
Loop
Gruß Daniel

AW: Leerzeichen
02.03.2021 10:52:28
Ralf
Hallo Daniel,
das passt. Vielen Dank. Das alle anderen Blätter korrigiert werden bekomme ich alleine hin.
VG Ralf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige