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

Bild

Betrifft: Konstante Feldlänge (auffüllen mi ' ' oder '0') von: J Käsbach
Geschrieben am: 04.04.2005 08:21:09

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

Bild


Betrifft: AW: Konstante Feldlänge (auffüllen mi ' ' oder '0') von: Oberschlumpf
Geschrieben am: 04.04.2005 08:59:09

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


Bild


Betrifft: AW: Konstante Feldlänge (auffüllen mi ' ' oder '0') von: Rolf Beißner
Geschrieben am: 04.04.2005 09:25:26


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



 Bild

Beiträge aus den Excel-Beispielen zum Thema "Variable"