Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellen mit Leerzeichen auffüllen

Zellen mit Leerzeichen auffüllen
06.12.2006 14:55:25
Arne
Hallo zusammen.
Ich würde mein Tabellenblatt gerne im txt-Format exportieren, habe aber das Problem, dass "feste Länge" nicht geht, da die Feldbreiten in verschiedenen Zeilen unterschiedlich ist.
Also habe ich überlegt, dass ich meine Zellen gerne per VBA bis auf eine bestimmte Größe mit Leerzeichen auffüllen würde, damit sie beim Export schon direkt so lang sind, wie ich's nachher brauche. (Z.B. SpalteD max. 10 Zeichen, Spalte E max. 12 Zeichen usw.)
Frage: Geht sowas? Und wäre jemand so lieb, mir einen Tipp zu geben? (Bin zwar leider nicht so der VBA-Held, aber wenn's mir jemand zeigt, kann ich mich meist doch durchwühlen.)
Vielen Dank im Voraus!
Nikolausige Grüße - Arne
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen mit Leerzeichen auffüllen
06.12.2006 15:48:33
Anton
Hallo Arne,
das hier hab ich mal aufgezeichnet:

Sub test()
Range("B1").Select
ActiveCell.FormulaR1C1 = "=LEN(RC[-1])"
Range("A1").Select
ActiveCell.FormulaR1C1 = " "
Range("B2").Select
End Sub

also ungestestet:

Sub Test2
Dim ende as Long
Dim i as Long
ende = Cells(Rows.Count, 2).End(xlUp).Row 'die 2 steht für die Spalte
For i = ende To 2 Step -1
If LEN Cells(i, 2).Value < 10
Then goto Verlängern
Next i
Verlängern:
cells(i, 2).Value = cells(i, 2).value & " "
end if
End Sub

diese Schleife wiederholen.... oder in "Verlängern" nochmal eine If-Schleife einbauen.
wenn Deine Zelle 10 hat, hast Du's geschafft.
Servus,
Anton
Anzeige
AW: Zellen mit Leerzeichen auffüllen
06.12.2006 17:26:43
Arne
Hallo Anton,
danke für die schnelle Antwort.
Also deine "Test2" trifft's schon ganz gut. Außer dass Excel meckert, dass das "End If" ohne If-Block wäre. (Versteh ich zwar nicht...)
Jedenfalls hab ich das "End If" jetzt auskommentiert und nun hört die Ausführung nirgends mehr auf! :-)
Und wie/wo meinst du, soll ich noch mal eine Schleife einbauen?
Gruß -- Arne
Anzeige
AW: Zellen mit Leerzeichen auffüllen
06.12.2006 18:04:47
Reinhard
Hi arne,
ggfs die if und end if zeile entfernen
Option Explicit
Option Base 1
Sub Test2()
Dim Breite, Spa As Integer, Zei As Long, i As Long
Breite = Array(10, 12, 10, 8, 12, 12, 12, 7)
For Spa = 1 To UBound(Breite)
For Zei = 1 To Cells(Rows.Count, Spa).End(xlUp).Row
If Cells(Zei, Spa) <> "" Then
Cells(Zei, Spa) = Left(Cells(Zei, Spa) & "            ", Breite(Spa))
End If
Next Zei
Next Spa
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Zellen mit Leerzeichen auffüllen
06.12.2006 22:59:40
Arne
Hallo Reinhard,
das ist nicht schlecht. Jedenfalls macht Excel mir eine Menge Leerzeichen vor meine Texte. (Hab die Cells-Zeile gedreht.) :-)
Und dafür ein ganz dickes DANKE!
Hier noch mal der überarbeitete Code:

Sub Leerzeichen_auffüllen()
Dim Breite, Spa As Integer, Zei As Long, i As Long
Breite = Array(0, 4, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10) ' es sind manchmal 1 mehr?
For Spa = 1 To UBound(Breite)
For Zei = 7 To Cells(Rows.Count, Spa).End(xlUp).Row
Auffuellen:
Cells(Zei, Spa) = " " & Right(Cells(Zei, Spa), Breite(Spa))
If Len(Cells(Zei, Spa)) < Breite(Spa) Then GoTo Auffuellen
Next Zei
Next Spa
End Sub

Gruß -- Arne
Anzeige
zu
08.12.2006 18:53:17
zu
zu
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige