Zahlenformat bzw Zahlen als Text

Bild

Betrifft: Zahlenformat bzw Zahlen als Text
von: michael
Geschrieben am: 25.11.2003 15:55:14

Hallo im Forum,

Ich brauche eine Schleife die Zahlen in der Form 001 - 009, 010 - 099, 100 - 999 generieren.

Leider schaff ich es nur die ZAhlen ohne die Null davor zu generieren.

Insgesamt soll "abc" & zahl & "xyz" also abc001xyz enstehen.

Hat jemand eine Idee wie ich das verwirklichen kann?

Danke für jede Hilfe
Michael

Bild


Betrifft: AW: Zahlenformat bzw Zahlen als Text
von: Nike
Geschrieben am: 25.11.2003 15:58:14

Hi,
die Zelle zuvor als Text formatieren
oder die Zelle über Zellen formatieren/Benutzerdefiniert
mit 000 auf führende Nullen definieren...

Bye

Nike


Bild


Betrifft: leider nicht ganz...
von: michael
Geschrieben am: 25.11.2003 17:02:57

Hallo Nike,

Zelle zuvor als Text formatieren : erscheint auch nur 1,2,3... (linksbündig)
die Zelle über Zellen formatieren/Benutzerdefiniert mit 000 auf führende Nullen definieren: 00# hat in der Zelle funktioniert.

Klappt aber nicht wenn ich den gesammten Text mit & zusammnenbaue, dann sind es wieder Zahlen ohne führenede Nullen.

Dim zeile as String '(Interger)
z = 100
zeile = 0 '("001" geht auch nicht)

For i = 0 to z-1
zeile = zeile +1
Cells (zeile,1) = "abc"& zeile &"xyz"
Next

Dann erscheint nur abc1xyz.
Hast du dazu noch eine Idee?

Michael


Bild


Betrifft: AW: Zahlenformat bzw Zahlen als Text
von: Nayus
Geschrieben am: 25.11.2003 17:02:08

Hallo,
wenn führende Nullen in eine Zelle geschrieben werden sollten, dann ein einfaches Hochkomma "'" vor die Zahl schreiben, dann bleiben auch die 0en enthalten.
Ansonsten folgendes Makro vielleicht um die komplette Aufgabe zu erledigen?
(schreibt in das aktuelle Blatt von A1 bis A1000)

Gruß,
Nayus


Sub writeNumbers()
dim str1 as string, str2 as string, l_out as string
str1 = "abc"
str2 = "xyz"
l_out as string
For i = 1 to 1000 
 if i < 10 then
   l_out = str1 & "00" & cstr(i) & str2
 elseif i >= 10 And i <= 99 then
   l_out = str1 & "0" & cstr(i) & str2
 else
   l_out = str1 & cstr(i) & str2
 end if
 cells(i,1) = l_out
Next i
End Sub



Bild


Betrifft: AW: Zahlenformat bzw Zahlen als Text
von: michael
Geschrieben am: 25.11.2003 17:38:07

Hallo Nayus,

vielen DAnk für das Makro!
Die Idee mit der If abfrage ist klasse!

Kann ich innerhalb eines Macros nicht auch sowas wie 00# als Format definieren?
Oder geht das nur bei Zellen?

Gruß
Michael


Bild


Betrifft: AW: Zahlenformat bzw Zahlen als Text
von: Nayus
Geschrieben am: 25.11.2003 17:45:35

Hallo Michael,
Du hast Recht - das ist noch viel einfacher:


Sub writeNumbers()
Dim str1 As String, str2 As String, l_out As String
str1 = "abc"
str2 = "xyz"
 For i = 1 To 1000
  l_out = str1 & Format(i, "00#") & str2
  Cells(i, 1) = l_out
 Next i
End Sub


Gruß,
Nayus


Bild


Betrifft: AW: Zahlenformat bzw Zahlen als Text
von: michael
Geschrieben am: 25.11.2003 18:10:21

Hallo Nayus

super!

rein aus Neugierde:
liese sich ohne das zusammensetzen Text & Zahl & text (hier wird die Zelle automatisch als Text formatiert)

bei
l_out = Format(i, "00#")
bleibt die Zelle im Format Standard, es erscheint 1
Kann man hier 2 Formatbefehle "00#" und "@" kombinieren? oder geht das nur nacheinander?

Weil "00#" alleine läßt noch keine 001 erscheinen erst wenn die Zelle als Text "@" formatiert ist.

Grüße
Michael


Bild

Beiträge aus den Excel-Beispielen zum Thema " Zahlenformat bzw Zahlen als Text "