Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
496to500
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
496to500
496to500
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe Makro Problem mit Office 2003

Hilfe Makro Problem mit Office 2003
07.10.2004 10:44:43
Pierre
Hallo zusammen,
seit meinem Umstieg auf Office 2003 werden verschiedene Macros nicht mehr richtig ausgeführt. Der untenstehende Code zum entfernen von Leerzeichen hat bis dato funktioniert. Es kommt keine Fehlermeldung, das Macro läuft durch nur sind die Leerzeichen immer noch in den Zellen vorhanden :o(( Kann mir jemand helfen?
Vielen Dank im voraus
Pierre


Sub Optimieren()
Sheets("Rohdaten").Select
Columns("B:B").Select
Dim rngSelect As Range
Dim rngCell As Range
Set rngSelect = ActiveSheet.UsedRange
For Each rngCell In rngSelect
rngCell = WorksheetFunction.Trim(rngCell)
Next
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hilfe Makro Problem mit Office 2003
07.10.2004 10:48:37
sergiesam
Hi,
sorry, dein code funktioniert mit excel 2003 einwandfrei.
Vielleicht kannst du die Mappe hochladen?
Sam
AW: Hilfe Makro Problem mit Office 2003
07.10.2004 11:00:25
Pierre
Hallo Sam,
nun bin ich aber sprachlos. Hier meine Mappe.
Pierre

Die Datei https://www.herber.de/bbs/user/11775.xls wurde aus Datenschutzgründen gelöscht

AW: Hilfe Makro Problem mit Office 2003
07.10.2004 11:27:17
sergiesam
Hi,
du hast kein Leerzeichen in diesen Texten (ASCII-Code 32) sondern ein &_nbsp (Ascii-Code 160). Trim kann nur Leerzeichen entfernen.
Du musst die Replace-Funktion verwenden:

Sub Optimieren()
Sheets("Rohdaten").Select
Dim rngSelect As Range
Dim rngCell As Range
Set rngSelect = Columns("B:B").SpecialCells(xlCellTypeConstants)
For Each rngCell In rngSelect
rngCell = Val(Replace(rngCell, Chr(160), ""))
Next
rngSelect.HorizontalAlignment = xlGeneral  'Linksbündig ausschalten
End Sub


1) Das Markieren der Spalte B bringt hier nichts, da UsedRange alle Spalten verwendet.
darum: Set rngSelect = Columns("B:B").SpecialCells(xlCellTypeConstants)
ich habe den Spalte B auf Zellen eingegrenzt, wo sich tatsächlich werte befinden, dadurch gehts schneller (.SpecialCells(xlCellTypeConstants))
Wenn es nur zahlen sind, kannst du die Val()-Funktion auch noch einsetzen.
Wenn es Zahlen sind, kann man noch das Linkbündig ausschalten.
rngSelect.HorizontalAlignment = xlGeneral 'Linksbündig ausschalten
Alle Änderungen findest du hier:
https://www.herber.de/bbs/user/11777.xls
lg,
Sam
ps: vielleicht ist Excel 2003 genauer mit den geschützen Leerzeichen, vielleicht hat es dieses Zeichen in früheren Versionen als Leerzeichen gesehen. Wer weiß...
Anzeige
AW: Hilfe Makro Problem mit Office 2003
07.10.2004 11:28:59
Pierre
Super!
Danke für die schnelle Hilfe und für die Hintergrundinformation.
Gruss Pierre

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige