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

Wie wende ich in VBA die trim-Funktion an?

Wie wende ich in VBA die trim-Funktion an?
Stefan
Hallo,
ich will beim Kopieren von Werten von einer Zelle in eine andere die Leerzeichen rausfiltern - TRIM
Worksheets("Daten").Cells(1, 4).Copy ThisWorkbook.Worksheets("Rohdaten").Trim(Cells(1, 3))
Leider funktioniert das nicht.
Was mache ich falsch?
Danke Euch.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Wie wende ich in VBA die trim-Funktion an?
13.10.2011 12:10:37
Henrik
Hallo,
also erst kopieren, und dann:
ThisWorkbook.Worksheets("Rohdaten").Cells(1, 3) = WorksheetFunction.Trim(ThisWorkbook.Worksheets("Rohdaten").Cells(1, 4))
dabei werden aber nur vorangehende, nachfolgende und doppelt vorkommende Leerzeichen gelöscht.
Alle Leerzeichen löscht du so:
ThisWorkbook.Worksheets("Rohdaten").Cells(1, 3) = Replace(ThisWorkbook.Worksheets("Rohdaten").Cells(1, 4), " ", "")
gruß henrik
AW: Wie wende ich in VBA die trim-Funktion an?
13.10.2011 12:25:44
Stefan
ah danke,
ich versuch das gleich mal.
Vg
TRIM existiert auch als VBA-Funktion
13.10.2011 14:51:48
NoNet
Hallo Henrik,
mit dieser Syntax verwendest Du in VBA die Tabellenblatt-Funktion GLÄTTEN()

ThisWorkbook.Worksheets("Rohdaten").Cells(1, 3) = WorksheetFunction.Trim(ThisWorkbook.Worksheets("Rohdaten").Cells(1, 4))
Stattdessen kannst Du auch direkt die VBA-Funktion TRIM() verwenden :

ThisWorkbook.Worksheets("Rohdaten").Cells(1, 3) = Trim(ThisWorkbook.Worksheets("Rohdaten").Cells(1, 4))
Gruß, NoNet
Der Countdown läuft - es gibt noch freie Plätze... :
Exceltreffen 28.-30.10.2011 in Chemnitz
Ein Treffen für alle Excel-Freunde und Besucher deutschsprachiger Excel-Foren.
Alle Infos - Programm - Anmeldung - Teilnehmerliste etc. gibt es auf
http://www.exceltreffen.de/index.php?page=211
Wir freuen uns auf euch...

Anzeige
wobei die VBA-Funktion TRIM() ...
14.10.2011 11:19:29
Rudi
Hallo,
nur anhängende und fürhrende Leerzeichen entfernt, nicht aber innere doppelte auf eins reduziert.
Gruß
Rudi
Stimmt ! - Da haben Sie korrekt ;-) _oT
14.10.2011 11:50:43
NoNet
_oT = "ohne Text"
kombination aus Trim und Clean
13.10.2011 15:43:44
Tino
Hallo,
ich verwende gern eine Kombination aus Trim und Clean (SÄUBERN),
weil diese auch Zeilenumbrüche entfernt.
Nachteil (manchmal auch ein Vorteil) Clean entfernt auch Zeilenumbrüche im Text.
Wenn man als Rückgabe einen Text erwartet, kann man auch die VBA Trim Version
mit dem Dollarzeichen verwenden (siehe Beispiel), diese soll etwas schneller sein.

Sub Beispiel()
Dim sIn$, sOut$
sIn = " " & vbCr & "Hal" & vbCrlf & "lo" & vbCr
With Application.WorksheetFunction
sOut = Trim$(sIn) 'VBA Trim = WorksheetFunction.Trim
Debug.Print "Text: " & sOut, "Länge: " & Len(sOut)
sOut = .Trim(sIn) 'WorksheetFunction.Trim = VBA Trim
Debug.Print "Text: " & sOut, "Länge: " & Len(sOut)
'Wichtig erst Clean und danach Trim
sOut = Trim$(.Clean(sIn)) 'Kombination Trim u. WorksheetFunction.Clean
Debug.Print "Text: " & sOut, "Länge: " & Len(sOut)
End With
End Sub
Gruß Tino
Anzeige

84 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige