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

Konstante Feldlänge (auffüllen mi ' ' oder '0')

Forumthread: Konstante Feldlänge (auffüllen mi ' ' oder '0')

Konstante Feldlänge (auffüllen mi ' ' oder '0')
04.04.2005 08:21:09
J
Hi,
es soll ein Flatfile erstellt werden. Dieses schreibt feste Feldlängen für die einzelnen Felder vor.
Die Felder müssen mit Leerzeichen oder Nullen aufgefüllt werden (mal links mal rechts)
Beötige also Funktion der ich die Gesamtlänge, das Auffüllzeichen, und links/rechtsbündig mitgheben kann.
Habe in Excel da leider nichts gefunden...
Jemand ne Idee ?
Danke
J
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Konstante Feldlänge (auffüllen mi ' ' oder '0')
04.04.2005 08:59:09
Oberschlumpf
Hi J
Schau Dir mal in der XL-Hilfe die Funktion SPACE$ an.
Mit dieser Funktion kannst Du dem Wert einer Textvariablen beliebig viele Leerzeichen an beliebiger Stelle hinzufügen.
Bsp.
var = "test" ergibt als Wert "test"
var = "test" & Space(5) ergibt "test "
Handelt es sich bei den Zahlenwerten nach der Umwandlung auch um Textvariablen? (Ich weiß nicht, was ein Flatfile ist)
Um, ich vermute, führende Nullen hinzuzufügen, musst Du die aktuelle Länge der Variablen nach Zuordnung von Werten ermitteln (Länge = Anzahl der Zeichen), um dann zu wissen, wieviele Nullen noch fehlen.
Bsp.
var muss immer 10 Zeichen haben
var = "123"

Select Case Len(var) 'mit Len wird die Anzahl Zeichen einer Variablen ermittelt - siehe XL-Hilfe
Case 1 'Anzahl Zeichen in var = 1
var = "000000000" & var
Case 2 'Anzahl Zeichen in var = 2
var = "00000000" & var
Case 3 'Anzahl Zeichen in var = 3
var = "0000000" & var 'ergibt var = "0000000123" = insgesamt 10 Stellen
Case 4 'usw.
Case 5
Case 6
Case 7
Case 8
Case 9
End Select

Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Konstante Feldlänge (auffüllen mi ' ' oder '0')
04.04.2005 09:25:26
Rolf
Hallo J,
vielleicht hilft dir das
fG
Rolf
https://www.herber.de/bbs/user/20658.htm
Und die Funktion in ein Modulblatt kopieren

Function auffüllen(zellwert As String, orientierung As String, länge As Long)
Dim n As Integer
n = Len(zellwert)
If orientierung = "rechts" Then
auffüllen = zellwert & Space(länge - n)
Else
auffüllen = Space(länge - n) & zellwert
End If
End Function

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Konstante Feldlänge in Excel auffüllen


Schritt-für-Schritt-Anleitung

Um in Excel eine konstante Feldlänge zu erreichen und die Zellen mit Nullen oder Leerzeichen aufzufüllen, kannst Du die folgende VBA-Funktion verwenden. Diese Funktion nimmt den Zellwert, die Ausrichtung und die gewünschte Länge als Parameter:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke im Menü auf Einfügen und dann auf Modul.
  3. Füge den folgenden Code in das Modul ein:
Function auffüllen(zellwert As String, orientierung As String, länge As Long) As String
    Dim n As Integer
    n = Len(zellwert)
    If orientierung = "rechts" Then
        auffüllen = zellwert & Space(länge - n)
    Else
        auffüllen = Space(länge - n) & zellwert
    End If
End Function
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Du kannst die Funktion jetzt in einer Zelle verwenden. Zum Beispiel: =auffüllen(A1, "links", 10).

Häufige Fehler und Lösungen

  • Fehler: Die Funktion gibt #NAME? zurück.

    • Lösung: Stelle sicher, dass Du die Funktion korrekt im VBA-Editor eingefügt hast und dass sie in der richtigen Arbeitsmappe gespeichert ist.
  • Fehler: Die Auffüllung funktioniert nicht wie erwartet.

    • Lösung: Überprüfe die Parameter, die Du an die Funktion übergibst. Stelle sicher, dass die Länge größer ist als die Zeichenanzahl des Zellwerts.

Alternative Methoden

Falls Du keine VBA-Funktion verwenden möchtest, kannst Du auch die integrierten Funktionen von Excel nutzen:

  • Auffüllen mit Nullen: Verwende die Formel =TEXT(A1, "0000000000"), um eine Zahl mit führenden Nullen aufzufüllen.

  • Auffüllen mit Leerzeichen: Nutze die Funktion =A1 & REPT(" ", 10 - LEN(A1)), um den Text in A1 mit Leerzeichen auf 10 Zeichen zu bringen.


Praktische Beispiele

  1. Zahl mit führenden Nullen auffüllen: Wenn Du die Zahl 123 in A1 hast und sie auf 10 Stellen bringen möchtest, verwende =TEXT(A1, "0000000000"), was 0000000123 ergibt.

  2. Text mit Leerzeichen auffüllen: Für den Text Test in A1, um ihn auf 10 Zeichen zu bringen, nutze =A1 & REPT(" ", 10 - LEN(A1)). Das Ergebnis wäre Test.


Tipps für Profis

  • Du kannst die Funktion auffüllen anpassen, um andere Auffüllzeichen zu verwenden, indem Du die Space-Funktion durch String ersetzt. Zum Beispiel: auffüllen = zellwert & String(länge - n, "0") für Nullen.
  • Überlege, ob Du mit bedingten Formatierungen arbeitest, um visuell anzuzeigen, ob eine Zahl die richtige Länge hat.

FAQ: Häufige Fragen

1. Wie kann ich eine Zelle mit 0 auffüllen?
Du kannst die Funktion auffüllen verwenden oder die TEXT-Funktion mit dem Format für führende Nullen nutzen.

2. Was ist ein Flatfile?
Ein Flatfile ist eine einfache Datei, die Daten in einem strukturierten Format speichert, typischerweise als Textdatei ohne spezielle Formatierungen.

3. Ist VBA notwendig für das Auffüllen?
Nein, Du kannst auch Standardfunktionen in Excel verwenden, um Zahlen oder Texte auf die gewünschte Länge zu bringen. VBA bietet jedoch mehr Flexibilität und Automatisierung.

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