Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
988to992
988to992
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

führende 0 (Formatproblem)

führende 0 (Formatproblem)
24.06.2008 17:29:00
JStadler
Hallo allerseits,
ich habe ein kleines Problem.
In meinem Excel-Sheet werden ID´s und Codes eingegeben. Der Einfachheit halber so wie sie kommen, d.h. beispielsweise ID: 125 und Code 3.
Intern müssen die ID´s 8-stellig und die Codes 3-stellig (jeweils mit führenden Nullen) weiterverarbeitet werden. Ich stelle also ein benutzerdefiniertes Format ein ('00000000' bei den ID´s und '000' bei den Codes).
Bis hierhin funktionierts prächtig. Jetzt soll ich aber die entsprechenden Daten eines Sheets in eine Textdatei auslesen. Auch das klappt, jedoch werden dabei die führenden Nullen entfernt.
Gibt es eine elegante Möglichkeit, am Schluss in der Textdatei die Nullen zu behalten und trotzdem ganz am Anfang des Vorgangs die ID´s und Codes ohne diese Nullen einzugeben?
Vielen Dank im Voraus
Johannes

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: führende 0 (Formatproblem)
24.06.2008 17:42:00
fcs
Hallo johanes
wie liest du denn die Daten in die Textdatei aus bzw. besser wie schreibst du sie hinein?
Gruß
Franz

AW: führende 0 (Formatproblem)
24.06.2008 17:56:53
JStadler
Hallo,
also das auslesen, bzw. hineinschreiben mache ich so:
Sub exportieren(speichername) Dim zeile Dim spalte Dim text Open speichername For Output As #1 For zeile = 1 To Cells(Rows.Count, 1).End(xlUp).Row text = "" For spalte = 1 To 15 Select Case spalte Case 1 To 3 text = text & Cells(zeile, spalte).Value & " " Case 4 To 15 If Cells(zeile, spalte) "" Then text = text & Cells(zeile, spalte).Value End If End Select Next spalte Print #1, text Next zeile Close #1 End Sub


Wie gesagt erhalte ich dann die entsprechenden Daten ohne führende Nullen. Formatiere ich die Zellen des Sheets schon vorher in Text um, verschwinden die Nullen ja auch. Irgendwann erfolgt die Umwandlung von Zahl in Text und da passierts. Lege ich die Ursprungszellen von Anfang an auf Text fest, muss man die ganzen Nullen von vorneherein eingeben. Auch blöd. Schweis net weiter :)

Anzeige
AW: führende 0 (Formatproblem)
24.06.2008 17:57:45
JStadler
sorry, ist ja noch offen

AW: führende 0 (Formatproblem)
24.06.2008 23:15:00
fcs
Hallo Johannes,
der Vorschlag von Gerd sollte es eigentlich bringen. Dann wird der Inhalt so in die Textdatei geschrieben, wie er formatiert in der Tabelle angezeigt wird.
Du kannst auch hier im Code mit der Funktion Format (entspricht Funktion TEXT im Tabellenblatt) die Zellinhalte für die einzelnen Spalten mit Zahlen formatiert in die Textdatei schreiben.
Beispiel:
text = text & Format(Cells(zeile, spalte).Value, "000") & " "
Bei Dezimalzahlen darauf achten, dass das Format unter VBA mit den US-Formatzeichen angegeben werden muss, also Punkt für Dezimalstelle und Komma für 1000er-Stelle. Beispiel: "#,##0.00"
Gruß
Franz

Sub exportieren(speichername)
Dim zeile
Dim spalte
Dim text
Open speichername For Output As #1
For zeile = 1 To Cells(Rows.Count, 1).End(xlUp).Row
text = ""
For spalte = 1 To 15
Select Case spalte
Case 1 To 3
text = text & Cells(zeile, spalte).Text & " "
Case 4 To 15
If Cells(zeile, spalte)  "" Then
text = text & Cells(zeile, spalte).Text
End If
End Select
Next spalte
Print #1, text
Next zeile
Close #1
End Sub


Anzeige
Setze doch einfach die Nullen vor die Zahlen, ...
24.06.2008 17:43:54
Backowe
Hi,
... dann die Formeln kopieren und die Werte wieder einfügen. Dann bleiben die Nullen erhalten.
 AB
112300000123
2123400001234
31200000012
4100000001
51234500012345
612345600123456
7123456701234567
81234567812345678

Formeln der Tabelle
ZelleFormel
B1=WIEDERHOLEN("0";8-LÄNGE(A1))&A1
B2=WIEDERHOLEN("0";8-LÄNGE(A2))&A2
B3=WIEDERHOLEN("0";8-LÄNGE(A3))&A3
B4=WIEDERHOLEN("0";8-LÄNGE(A4))&A4
B5=WIEDERHOLEN("0";8-LÄNGE(A5))&A5
B6=WIEDERHOLEN("0";8-LÄNGE(A6))&A6
B7=WIEDERHOLEN("0";8-LÄNGE(A7))&A7
B8=WIEDERHOLEN("0";8-LÄNGE(A8))&A8


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruss Jürgen

Anzeige
AW: führende 0 (Formatproblem)
24.06.2008 20:34:02
Gerd
Hallo Johannes,
ersetze mal im Code versuchsweise .Value durch .Text
Gruß Gerd

AW: führende 0 (Formatproblem)
25.06.2008 09:28:22
JStadler
Hallo Leute,
das funktioniert alles prächtig. So komm ich weiter.
Tausend Dank an alle
Johannes

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige