Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1056to1060
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 löschen in allen Tabellen und Zellen?

Leerzeichen löschen in allen Tabellen und Zellen?
13.03.2009 09:32:28
dieter(drummer)
Excel gut ist übertrieben!
Hi VBA Profis,
ich suche eine VBA Lösung, die in allen Zellen, in allen Tabellen der aktiven Arbeitsmappe, die NUR EIN LEERZEICHEN drin haben, das LEERZEICHEN löscht. Dann soll die Zelle leer sein.
Zellen, die einen anderen Inhalt haben, z. B. Text und Zahlen und/oder Formeln und Leerzeichen, dürfen davon nicht berührt werden.
Das Makro löse ich dann per Button aus!
Eine Lösung wäre toll.
Danke vorab für Tipps oder Makro.
Mit Gruß
dieter(drummer)

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leerzeichen löschen in allen Tabellen und Zellen?
13.03.2009 10:11:54
schauan
Hallo,
wo steht denn das eine Leerzeichen? Wenn es zum Bleistift nur vorne oder hinten steht, kann man das mit wegtrimmen.
Wenn z.B. vorne und hinten eins steht, soll es nicht entfernt werden? Es wären ja dann zwei und nicht nur eins.
Gruß, Andre
AW: Leerzeichen löschen in allen Tabellen und Zellen?
13.03.2009 10:22:00
dieter(drummer)
Hi Andre,
Danke für schnelles drum kümmern. Das Leerzeichen steht irgendo in en Zellen und es handelt sich NUR um das Leerzeichen in den Zellen. Sonst ist NICHTS in den Zellen.
Gruß
dieter(drummer)
AW: Leerzeichen löschen in allen Tabellen und Zellen?
13.03.2009 10:54:49
schauan
Hallo Dieter,
muss es dann unbedingt VBA sein? Filter die Zellen, benutzerdefiniert, enthält und das Leerzeichen eingeben, und ersetze dann das Leerzeichen durch nix. Für VBA könntest Du das dann auch aufzeichnen.
Anzeige
AW: Leerzeichen löschen in allen Tabellen und Zellen?
13.03.2009 10:55:03
Jogy
Hi.
Probier das mal aus:

Sub leerZeichenWeg()
Dim wsh As Worksheet
Dim zeLLe As Range
Application.ScreenUpdating = False
For Each wsh In ActiveWorkbook.Sheets
For Each zeLLe In wsh.UsedRange
If zeLLe.Formula = " " Then
zeLLe.ClearContents
End If
Next
Next
Application.ScreenUpdating = True
End Sub

Gruss, Jogy

besser so...
13.03.2009 11:04:05
Jogy
Hi.
So wäre es natürlich deutlich schneller:

Sub leerZeichenWeg()
Dim wsh As Worksheet
Application.ScreenUpdating = False
For Each wsh In ActiveWorkbook.Sheets
wsh.UsedRange.Replace What:=" ", Replacement:="", LookAt:=xlWhole
Next
Application.ScreenUpdating = True
End Sub

Gruss, Jogy

Anzeige
AW: Dank an Schauan und Jogy. Jogys funtzt prima!
13.03.2009 11:08:50
dieter(drummer)
Danke an euch für schnelle Hilfe.
Danke Jogy für Makro. Funtz super!
Ein schönes Wochenende aus NRW mit Gruß
dieter(drummer)
AW: besser so...
13.03.2009 15:39:23
dieter(drummer)
Hallo Jogy,
Danke nochmal für das Makro. Läuft super. Kannst Du mir das Makro noch so erweitern, dass in einer Infobox mir am Ende die komplette Anzahl der gefunden Zellen - in der ganzen Arbeitsmappe - angibt, in denen das Leerzeichen in den Zellen gelöscht wurde, die NUR das Leerzeichen drin hatten?
Dein Makro:

Sub leerZeichenWeg()
Dim wsh As Worksheet
Application.ScreenUpdating = False
For Each wsh In ActiveWorkbook.Sheets
wsh.UsedRange.Replace What:=" ", Replacement:="", LookAt:=xlWhole
Next
Application.ScreenUpdating = True
End Sub


Wäre super!
Danke für evtl. Zusatzlösung.
Gruß
dieter(drummer)

Anzeige
AW: Frage an Jogy evtl. Zusatzlösung?
13.03.2009 16:28:09
dieter(drummer)
Hallo Jogy,
Danke nochmal für das Makro. Läuft super. Kannst Du mir das Makro noch so erweitern, dass in einer Infobox mir am Ende die komplette Anzahl der gefunden Zellen - in der ganzen Arbeitsmappe - angibt, in denen das Leerzeichen in den Zellen gelöscht wurde, die NUR das Leerzeichen drin hatten?
Dein Makro:

Sub leerZeichenWeg()
Dim wsh As Worksheet
Application.ScreenUpdating = False
For Each wsh In ActiveWorkbook.Sheets
wsh.UsedRange.Replace What:=" ", Replacement:="", LookAt:=xlWhole
Next
Application.ScreenUpdating = True
End Sub


Wäre super!
Danke für evtl. Zusatzlösung.
dieter(drummer)

Anzeige
AW: Frage an Jogy evtl. Zusatzlösung?
18.03.2009 13:37:21
Jogy
Hi.
Bei der Lösung so weit ich weiß nein.
Bei der anderen ginge es:

Sub leerZeichenWeg()
Dim wsh As Worksheet
Dim zeLLe As Range
Dim replCount As Long
Application.ScreenUpdating = False
For Each wsh In ActiveWorkbook.Sheets
For Each zeLLe In wsh.UsedRange
If zeLLe.Formula = " " Then
zeLLe.ClearContents
replCount = replCount + 1
End If
Next
Next
MsgBox ("Es wurden " & replCount & " Ersetzungen vorgenommen.")
Application.ScreenUpdating = True
End Sub

Ist bei großen Datenmengen aber recht lahm.
Gruss, Jogy

AW: Danke Jogy für Zusatzlösung! Funzt!
18.03.2009 14:18:37
dieter(drummer)
Ho Jogy,
Danke für Deine Zusatzlösung. Funzt prima.
Eine schönen Tag noch.
Mit Dank und Gruß
dieter(drummer)
Anzeige

325 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige