Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
824to828
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
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige