Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle auf fixe Zeichenlänge auffüllen

Forumthread: Zelle auf fixe Zeichenlänge auffüllen

Zelle auf fixe Zeichenlänge auffüllen
12.07.2004 10:56:37
Helmut
Eine Excel-Datei mit 3 Spalten und ca. 1400 Zeilen, siehe untenstehendes Beispiel soll in jeder Zelle mit einem "blanc" bis zu einer fixen Länge aufgefüllt werden. Die fixe Breite pro Spalte soll mind. der max. Breite entsprechen, darf aber auch länger sein.
Beispiel:
SpalteA_________SpalteB__________SpalteC
LALUC___________LUC
LALUIN__________Lup.Inh. __________3947
LALZEL
LALYPB__________Ly-Is.pB
LALYSO__________Lysozym*
LALYSIN_________LysinU*__________3737
Beispiel wie die Zell-Inhalte aussehen sollten. Wobei das "x" nur beispielhaft für ein Zeichen steht, mit dem aufgefüllt werden soll.
Das Auffüllzeichen sollte z.B. die Leertaste sein.
LALUCxxxxx LUCxxxxxxxxx xxxxxx
LALUINxxxx Lup.Inh.xxxxx 3947xx
LALYPBxxxx Ly-Is.pBxxxx xxxxxx
Im voraus herzlichen Dank für Eure Hilfe.
Mfg
Helmut Stocker
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zelle auf fixe Zeichenlänge auffüllen
Uduuh
Hallo,
aus meiner Sammlung:

Sub ZellenAuffüllen_rechts()
Dim Stellen As Byte, Zeichen As String, i As Byte, a As Range
Application.ScreenUpdating = False
Stellen = Val(InputBox("Anzahl Stellen?"))
If Stellen = 0 Then Exit Sub
Zeichen = InputBox("Auffüllzeichen?")
For i = 1 To Stellen
Folge = Folge & Zeichen
Next i
For Each a In Selection.Cells
a.NumberFormat = "@"
a.Value = Left(a.Value & Folge, Stellen)
Next a
Application.ScreenUpdating = True
End Sub
Gruß aus'm Pott
Udo
Anzeige
AW: Zelle auf fixe Zeichenlänge auffüllen
12.07.2004 11:42:12
Helmut
Hallo Udo,
ganz herzlichen Dank.
Ich probiers gleich mal aus.
Gruss aus dem Schwabenland
Helmut
AW: Zelle auf fixe Zeichenlänge auffüllen
12.07.2004 12:34:00
Helmut
Hallo Udo,
es hat wunderbar funktioniert.
Vielen herzlichen Dank.
Ich wünsche Dir alles Gute.
Viele Grüße
Helmut Stocker
AW: Zelle auf fixe Zeichenlänge auffüllen
B.
Hallo Helmut
Ist das ein Scherz "Ausfüllzeichen Leertaste"?
Oder suchst Du dieses Format:
Format/Zellen/Benutzerdefiniert/Typ "0*0"
(Füllt den Rest der Spalte mit Nullen auf)
Gruß
Beate
Anzeige
AW: Zelle auf fixe Zeichenlänge auffüllen
12.07.2004 11:48:32
Helmut
Hallo Beate,
nein, "Ausfüllzeichen Leertaste" ist kein Scherz, denn diese Datei muss ins SAP-Programm eingelesen werden.
Dafür wird eine feste (fixe) Zeichenlänge pro Spalte benötigt.
Eine "0" Null würde zu einem falschen Wert führen.
Die "x" sind nur Platzhalter für Leerzeichen:
LALUINxxxx Lup.Inh.xxxxx 3947xx
Trotzdem Danke für Deine Antwort.
Gruss
Helmut Stocker
Anzeige
;
Anzeige

Infobox / Tutorial

Zelle auf fixe Zeichenlänge auffüllen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel Zellen auf eine fixe Zeichenlänge aufzufüllen, kannst du ein einfaches VBA-Makro verwenden. Folge diesen Schritten:

  1. Öffne Excel und lade die Datei, die du bearbeiten möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen > Modul.

  4. Füge den folgenden Code in das Modul ein:

    Sub ZellenAuffüllen_rechts()
        Dim Stellen As Byte, Zeichen As String, i As Byte, a As Range
        Application.ScreenUpdating = False
        Stellen = Val(InputBox("Anzahl Stellen?"))
        If Stellen = 0 Then Exit Sub
        Zeichen = InputBox("Auffüllzeichen?")
        For i = 1 To Stellen
            Folge = Folge & Zeichen
        Next i
        For Each a In Selection.Cells
            a.NumberFormat = "@"
            a.Value = Left(a.Value & Folge, Stellen)
        Next a
        Application.ScreenUpdating = True
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Markiere die Zellen, die du auffüllen möchtest.

  7. Drücke ALT + F8, wähle ZellenAuffüllen_rechts aus und klicke auf Ausführen.

  8. Gib die gewünschte Anzahl an Stellen sowie das Auffüllzeichen (z.B. Leerzeichen) ein.


Häufige Fehler und Lösungen

  1. Fehler: "Anzahl Stellen ist 0"

    • Lösung: Stelle sicher, dass du eine gültige Zahl eingibst, die größer als 0 ist.
  2. Fehler: Zellen bleiben unverändert

    • Lösung: Achte darauf, dass die Zellen korrekt markiert sind und dass du das Makro korrekt ausgeführt hast.
  3. Fehler: Falsches Auffüllzeichen

    • Lösung: Überprüfe, dass du das richtige Zeichen eingibst. Bei der Verwendung der Leertaste kann es leicht übersehen werden.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch die Funktion REPT verwenden:

  1. Angenommen, deine Daten stehen in Zelle A1, und du möchtest sie auf eine Länge von 10 Zeichen auffüllen:

    =A1 & REPT(" ", 10-LEN(A1))
  2. Ziehe die Formel nach unten, um sie auf die restlichen Zellen anzuwenden.

Diese Methode ist effektiv, wenn du keine Programmierung in Excel nutzen möchtest.


Praktische Beispiele

  • Beispiel 1: Wenn in Zelle A1 "LALUC" steht und du es auf 10 Zeichen auffüllen möchtest, wird das Ergebnis "LALUC " sein.
  • Beispiel 2: Wenn du die Zelle B1 mit "Lup.Inh." hast und auf 15 Zeichen erweitern möchtest, wird das Ergebnis "Lup.Inh. " sein.

Du kannst auch die durchschnittszeichen excel-Methode nutzen, um die durchschnittliche Zeichenlänge in deinen Daten zu analysieren, bevor du das Auffüllen vornimmst.


Tipps für Profis

  • Verwende bedingte Formatierung, um Zellen hervorzuheben, die nicht die gewünschte Zeichenlänge haben.
  • Teste das Makro in einer Kopie deiner Datei, um ungewollte Änderungen zu vermeiden.
  • Experimentiere mit verschiedenen Auffüllzeichen, um zu sehen, welches für deine Anwendung am besten geeignet ist.

FAQ: Häufige Fragen

1. Kann ich das Makro in jeder Excel-Version verwenden? Ja, das Makro sollte in den meisten modernen Excel-Versionen (ab 2007) funktionieren.

2. Was passiert, wenn ich mehr Zeichen eingebe, als die Zelle aufnehmen kann? Die Zelle wird nur die maximal mögliche Anzahl an Zeichen anzeigen, die in die Zelle passt. Der Rest wird abgeschnitten.

3. Wie kann ich das Makro anpassen, um es automatisch auf alle Zellen in einem Bereich anzuwenden? Du kannst die Selection.Cells durch einen spezifischen Zellbereich ersetzen, z.B. Range("A1:C1400").

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige