Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1344to1348
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

Glätten

Glätten
20.01.2014 11:57:45
Bernd
Hallo.
ich bekomme des öfteren Exceldateien mit Werten (ohne Formeln) geliefert, bei denen sich versteckte Leerstellen am Anfang oder am Ende von Zellwerten "einschmuggeln".
Mit der Funktion "Glätten" kann ich diese Leerstellen wohl eliminieren.
Nun meine Fragen:
1.) kürzt die Funktion wirklich nur vorne und hinten? Meine Versuche scheinen da zumindest zu bestätigen. Also Leerstellen zwischen bei Textausdrücken in einer Zelle werden nicht gekürzt?
2.) Ist es sinnvoll, dass man die Funktion Glätten() über die gesamte Arbeitsmappe mit diesen Lieferdaten mit einem Makro drüberlaufen lässt? Geht das per VBA entsprechend "performant"? Ich würde es halt über den Makrorecorder aufzeichnen.
Gruß,
Bernd

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Glätten
20.01.2014 12:01:46
selli
hallo bernd,
ich verstehe nicht so recht dein problem.
wenn du mit glätten zum gewünschten ergebnis kommst ist es doch gut, oder?
wenn alle leerzeichen raus sollen kannst du das mit suchen/ersetzen machen.
gruß
selli

AW: Glätten
20.01.2014 12:03:58
Bernd
Hallo,
wir kann ich glätten über alle Felder der gesamten Excelmappe anwenden?
Gruß,
Bernd

AW: Glätten
20.01.2014 12:04:45
Rudi
Hallo,
zu 1: Die Fkt. löscht auch alle mehrfach vorkommenden Leerzeichen innerhalb des Strings
zu 2: Ein aufgezeichnetes Makro wird nicht wirklich schnell sein. Kommt auf die Datenmenge an.
Gruß
Rudi

Anzeige
AW: Glätten
20.01.2014 12:06:19
Matze
Hallo Bernd,
zu1 warum probierst du es nicht aus? Antwort Ja
zu2 wird mit dem Makrorekorder nicht funktionieren
Teste mal dies:
Sub TrimCells()
Dim objSh As Worksheet
Dim rng As Range, rngR As Range
Dim lngCalc As Long
On Error GoTo ErrExit
With Application
.EnableEvents = False
.ScreenUpdating = False
lngCalc = .Calculation
.Calculation = xlCalculationManual
End With
For Each objSh In ThisWorkbook.Worksheets
On Error Resume Next
Set rngR = objSh.UsedRange.SpecialCells(xlCellTypeConstants)
Err.Clear
On Error GoTo ErrExit
If Not rngR Is Nothing Then
For Each rng In rngR
rng = Trim(rng)
Next
End If
Next
ErrExit:
With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = lngCalc
End With
Set rng = Nothing
Set rngR = Nothing
Set objSh = Nothing
End Sub
Gruß Matze
Das Makro ist von Josef Ehrensberger

Anzeige
AW: Glätten
20.01.2014 12:07:17
Dani
Hallo Bernd,
1. Ja
2. Ich würde das mit einer Hilfsspalte lösen. Mit einem Makro wäre das nicht Glätten, sondern die Funktion "Trim". Mit dem Rekorder geht das nicht, da Excel keine regulären Ausdrücke in der Ausführlichkeit zulässt, die nötig wäre.
3. Da du von "Daten" sprichst und eventuell Datumsangaben meinst: Wenn du den Leuten irgendwie ein Template der Listen schicken kannst, würde ich versuchen, das zu machen und die Zelleneingabe auf erlaubte Werte zu beschränken. Es ist in Excel über das Tab "Daten" und die Auswahl "Datenüberprüfung" zuzulassen, dass nur Datumseingaben in eine Zelle gemacht werden. Du kannst auch Listen, oder nur bestimmte Zahlen zulassen, das ist sehr praktisch, wenn man immer wieder Listen aus verschiedenen Quellen konsolidieren muss.
Viele Grüße,
Dani

Anzeige
Eine Alternative wäre wohl das ...
20.01.2014 18:34:55
Luc:-?
hier von mir vorgestellte Verfahren für Primärdaten, Bernd,
falls es sich bei deinen Daten um Zahlenwerte handelt. Nur müsstest du halt GLÄTTEN statt RUNDEN verwenden (allerdings wäre das bei Zahlen wohl überflüssig und ein Multiplizieren mit 1 sollte ausreichen!).
Bei Texten ginge das nicht → es bliebe dann wohl nur einer der bereits genannten Wege, zB Fmln in Hilfszellen und das Ergebnis ggf als Wert über die Primärdaten speichern.
Gruß Luc :-?

Anzeige
AW: Eine Alternative wäre wohl das ...
20.01.2014 20:18:18
Bernd
Hallo,
so wie es aussieht ist das Makro von Matze bzw. Josef für meine Zwecke perfekt.
Die Ausgangsdaten stammen aus einer Software aus der man per str-c und str-v Daten nach Excel kopieren kann. Ab und an gibt es aber das Problem, dass es die besagten Leerzeichen hinten oder vorne anfügt. Eine automatisierte Aufbereitung bzw. Weiterverarbeitung ist so natürlich fehlerbehaftet. Man vergleicht die Daten mit dem Vormonat und kann sich bestimmte Veränderungen nicht erklären. Ganz am Schluss findet man dann diesen versteckten Fehler an den Ausgangsdaten, den ich dann mit Glätten behoben habe. Oft hat es nur eine Spalte betroffen, mittlerweile kann es auch in anderen Spalten auftreten. Es betrifft aber wohl nur TEXT! Ich hoffe, diese Zusatzinformation macht das Verständnis für mein Problem leichter. Mit einer Hilfsspalte zu arbeiten ist ok, aber wie gesagt, es kann 2-3 Spalten bei einem Import von 20 Spalten betreffen. Per Knopfdruck eine Glättung wäre schon erstrebenswert!
Gruß und danke für die Beiträge!
Gruß,
Bernd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige