Formel / VBA Lösung führendes Leerzeichen löschen

Hallo

ich habe mich schon durch viele verschiedene Internet Foren gelesen aber keine Lösung für mein Problem gefunden:

ich habe von einer Website eine Tabelle kopiert und diese in Excel eingefügt. Nun ist vor jedem Wert in jeder Zelle ein Leerzeichen.

Dieses Leerzeichen kann man nicht einfach durch ersetzen löschen. egal was ich probiert habe es klappt nicht.

Ich müsste das leerzeichen aus Spalte A-EF und aus Zeile 1-928 löschen. Da brauche ich Tage für wenn ich keine Formel oder VBA Lösung finde.

Ich habe folgendes MAkro im Netz gefunden:

Sub blank()
Dim i As Integer
Let i = l
Do While Cells(i, l) leer
Let Cells(i, l) = Trim(Cells(i, l))
Let i = i + l
Loop
End Sub

ich bekomme aber eine gelbe zeile bei "do while cells…) angezeigt und einen Laufzeitfehler „Anwendungs oder Objektdefinierter Fehler“
Ich kenne mich mit Makros nur ganz gering aus…also einfügen und starten ist auch schon alles :wink: Ich verstehe bei dem beispiel zum Beispiel auch nicht die i und l

Kann mir da jemand weiterhelfen?
Vielen Dank

ich habe auch noch folgendes ausprobiert:

Sub säubern()
For Each z In ActiveSheet.UsedRange
z.Value = Trim(z.Value)
Next z
End Sub

aber da weiß ich nicht was die z bedeuten außerdem sagt der PC dann Typen unverträglich!

Ich bin echt ratlos…es muss doch eine Lösung geben

Hallo Stracciatella.

Das folgende Code ist getestet:

Private Sub Saeubern()
 Const ErsteZeile As Long = 1
 Const ErsteSpalte As Long = 1
 Dim LetzteZeile As Long
 Dim LetzteSpalte As Long
 Dim Zeile As Long
 Dim Spalte As Long

 LetzteZeile = UsedRange.Rows.Count
 LetzteSpalte = UsedRange.Columns.Count

 For Zeile = ErsteZeile To LetzteZeile
 For Spalte = ErsteSpalte To LetzteSpalte
 Cells(Zeile, Spalte) = Trim(Cells(Zeile, Spalte))
 Next Spalte
 Next Zeile

End Sub

Achtung!!! Wenn auf dem Tabellenblatt noch mehr Zellen als die von Dir beschriebenen mit Daten gefüllt sind, solltest Du nicht UsedRange verwenden, sondern stattdessen lieber konstante Werte einsetzen.

Viele Grüße
Carsten

Hi Steffi,

ich habe von einer Website eine Tabelle kopiert und diese in
Excel eingefügt. Nun ist vor jedem Wert in jeder Zelle ein
Leerzeichen.
Dieses Leerzeichen kann man nicht einfach durch ersetzen
löschen. egal was ich probiert habe es klappt nicht.

Mit Suchen/erstezen auch nicht? Ist denn das überhaupt ein Leerzeichen,
Was wird denn angezeigt wenn du in eine beliebige freie Zelle eingibst:
=Code(A1)
32 wäre ein Leerzeichen…

Ich müsste das leerzeichen aus Spalte A-EF und aus Zeile 1-928
löschen. Da brauche ich Tage für wenn ich keine Formel oder
VBA Lösung finde.

Du könntest in einem Hilfsblatt in A1 schreiben:
=Säubern(Tabelle1!A1), dies im Hilfsblatt runter/rüberziehen auf A1:EF928.
Dann diesen Bereich markieren, in Blatt1 A1 markieren und Bearbeiten–InhalteEinfügen…

Ich habe folgendes MAkro im Netz gefunden:

Sub blank()
Dim i As Integer
Let i = l
Do While Cells(i, l) leer
Let Cells(i, l) = Trim(Cells(i, l))
Let i = i + l
Loop
End Sub

ich bekomme aber eine gelbe zeile bei "do while cells…)
angezeigt und einen Laufzeitfehler „Anwendungs oder
Objektdefinierter Fehler“

Keiner kann erahnen welchen Wert „l“ hat, ist er z.B. 0 so muß es krachen, denn Zelle cells(0,0) gibt es nicht.
„leer“ ist auch unklar aber nicht der Debuggergrund.
(Übrigens vermeide ich l,i, je nach Schriftart usw. verwechsle ich das mit 1 und gegenseitig, aber ist Geschmackssache)

Im anderen Beispiel ändere
…Activesheet.usedrange
in
…Activesheet.usedrange.cells

oder nim gleich das von Carsten

Ich kenne mich mit Makros nur ganz gering aus…also einfügen
und starten ist auch schon alles :wink: Ich verstehe bei dem
beispiel zum Beispiel auch nicht die i und l

Das Beispiel ist nicht gut zum Lernen, vergiß es, das Beispiel hat eigene Vba-Schwächen :smile: (Oder wurde aus dem Zusammenhang, globale Variablen, gerissen *eher glaub*)

Gruß
Reinhard

Hallo Zusammen,

vielen Dank für die schnelle Hilfe. Werde die Lösungen jetzt mal ausprobieren.

Hallo

ich habe mich schon durch viele verschiedene Internet Foren
gelesen aber keine Lösung für mein Problem gefunden:

ich habe von einer Website eine Tabelle kopiert und diese in
Excel eingefügt. Nun ist vor jedem Wert in jeder Zelle ein
Leerzeichen.

Dieses Leerzeichen kann man nicht einfach durch ersetzen
löschen. egal was ich probiert habe es klappt nicht.

Hallo,
versuch es mal mit der Funktion WECHSELN (oder GLÄTTEN, wenn sonst keine Leerzeichen vorhanden sind).

Gruß
Peter