Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

vba: format(zahl,"?")

Empfohlene Antworten

hi,

folgendes problem:

was ich bräuchte wäre das erbenis von format(zahl, "000000") nur das anstatt der vornullen blanks angezeigt werden.

z.B.

zahl = 3

string = "000003"

statt dessen hätte ich aber gerne

string = " 3"

also mit 5 leerzeichen

kann mir da wer helfen?

..auch wenn es blöd klingt - schon mal in der Hilfe geschaut? Ich werde aus der VB-Hilfe nicht ganz schlau, aber ich kenn mich mit der VB-Syntax auch nicht aus... kann sein, dass Du da eher was findest als ich.

Gruss,

der Onkel

PS: Vielleicht hilft Dir das bei der Suche: unter VFP heisst der Befehl STRTRAN().

Das mit deinen 5 Leerzeichen geht nur, wenn die Zahlen dann auch immer einstellig sind. Sobald es 2 oder mehr Stellen sind hast dann halt trotzem 5 Leerzeichen und dann hintendran noch meherere Stellen. Wenn ich aber mal dumm Fragen darf.......wozu sollen die 5 Leerzeichen denn gut sein?

Goos

Hi!

Bin mir net sicher, aber probiers doch mal statt mit format mit

string = CStr(Zahl)

es sollen natürlich nur 5 leerzeichen sein, wenn die zahl einstellig ist. wenn sie zweistellig ist sollen es vier sein, wenn sie dreistellig ist drei usw...

der grund: ich schreibe das in ne datei und die muss nunmal so aussehen, dass diese zahl sechs zeichen einnimmt und keine voranstehenden nullen vorkommen dürfen sondern halt leerzeichen.

habs jetzt so gemacht:

Function wandleum(zahl, stellen)

Dim string1 As String

Dim string2 As String

Dim i As Integer

string1 = zahl

string2 = ""

For i = 0 To ((stellen - 1) - Len(string1))

string2 = string2 & " "

Next i

string2 = string2 & string1

wandleum = string2

End Function

weiß nicht ob das das eleganteste is, aber es geht...

Wie wäre es, wenn Du anstatt der For-Schleife eine Select Case -Anweisung nimmst?

Stellen hier: Die länge der Ziffer

Select Case Stellen

Case 1

String=chr(32) & chr(32) & chr(32) & chr(32) & chr(32) & String

Case 2

String=chr(32) & chr(32) & chr(32) & chr(32) & String

Case 3

String=chr(32) & chr(32) & chr(32) & String

Case 4

String=chr(32) & chr(32) & String

Case 5

String=chr(32) & String

Case 6

String=String

End Select

Etwas besseres ist mir im Moment nicht eingefallen.

Also folgendes kann Fehler enthalten, ist mir nur gerade eingefallen und konnte es nicht testen:

Dim Zahl As Integer

Dim Wort As String

dim Counter As Integer

For i = (lenght(Zahl)) To 5

wort = wort & " "

Next i

wort = wort + zahl

@ sub7:

Du hast da was von VBA geschrieben.....fuer welche Office Anwendung solls denn sein und was genau machst du da?

Vielleicht gibts da ja doch noch viel einfachere Wege :)

Goos

@ goos:

is in access 97 ...

x = right(" " & Zahl, 6) '6 Leerzeichen zwischen den "

keine schlechte idee, aber geht leider nicht...

er setzt immer ein leerzeichen vor die zahl, wäre diese fünfstellig ginge es - in allen anderen fällen bleibt es bei der zahl mit einem leerzeichen davor, weil right wenn es über den string hinaus geht einfach den string nimmt und NICHT den rest mit leerzeichen auffüllt...

Geht doch, es müssen nur genau 6 Leerzeichen zwischen den Anführungszeichen stehen.

Zur Demonstration setzte ich mal einen Unterstrich statt Leerzeichen

x = right("______" & Zahl, 6)

Zahl = 500 -> x = "___500"

Zahl = 50 -> x = "____50"

Zahl = 5 -> x = "_____5"

Alternative wäre x = right(string(6, " ") & Zahl, 6)

Grüsse

ja stimmt !

das board hier lässt ja die leerzeichen aus, wenn es sechs sind... und es geht genau wegen dem was ich beschrieben habe, das er das übrige weg lässt -> entschuldige mich demütig

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.