Autor
|
Thema: Schreiben von Zellen in eine Textdatei (531 mal gelesen)
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 16. Dez. 2007 16:13 <-- editieren / zitieren --> Unities abgeben:
Aus einer grösseren Tabelle muss ich die werte in eine Textdatei schreiben. Dies mach ich mit: Code: LastRow = Sheets("Item").Cells(Rows.Count, 1).End(xlUp).Row ' Output Item Table For i = 1 To LastRow out.Write Sheets("Item").Cells(i, 1).Value For j = 2 To 45 out.Write vbTab & Sheets("Item").Cells(i, j) Next j out.Write vbCrLf Next i out.Close
Jetzt sollte nur beim Schreiben der Datei das Format aus der Tabelle verwendet werden (z.B. mehre Felder sind Datumsfelder, jetzt will ich beim Rausschreiben nur das Datum haben (wie dargestellt) und nicht die Uhrzeit auch noch). Eigentlich wollte ich mir ersparen, dass ich für jedes einzelne Feld das Format mit angeben muss, also keine Schleife wie oben, sondern 45 einzelne Zeilen. Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 16. Dez. 2007 23:43 <-- editieren / zitieren --> Unities abgeben: Nur für Axel.Strasser
|
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 17. Dez. 2007 13:26 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, hat mich leider auch nicht viel weitergebracht. Ich habe es jetzt noch mal in der Richtung versucht Code: out.Write vbTab & Format(Sheets("Item").Cells(i, j).Value, Sheets("Item").Cells(i, j).NumberFormat)
...aber so ganz bekomme ich den Format-String noch nicht richtig raus. Axel Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 17. Dez. 2007 14:28 <-- editieren / zitieren --> Unities abgeben: Nur für Axel.Strasser
muss sagen ich bekomme das mit dem out.Write bei mir irgendwie nicht nachgebaut (fehlendes Wissen ;-)) ich habe mal testweise Ziffern, Datum, Zeit und Datum& Zeit und Verweise mit div.Formaten auf einem Blatt erstellt und mit dem untenstehendem Code habe ich in der Txt-Datei genau das, was ich auch sichtbar in Xl habe. Code: Sub saveastxt() Dim lngRow As Long Dim lngLastRow As Long Dim intColumn As Integer Dim strPfad As String Dim strName As String Dim strValue As StringstrPfad = "W:\" strName = "Textdatei.txt" strWrite = "Strwrite.txt" 'nur zum Test Close Open strPfad & strName For Output As #1 Open strPfad & strWrite For Output As #2 'nur zum Test With ActiveSheet lngLastRow = .Cells(Rows.Count, 1).End(xlUp).Row For lngRow = 1 To lngLastRow For intColumn = 1 To Range("a1").End(xlToRight).Column strValue = strValue & .Cells(lngRow, intColumn).Text & vbTab Next strValue = Left(strValue, Len(strValue) - 1) Print #1, strValue Write #2, strValue 'nur zum Test setzt den Export in " " strValue = "" Next lngRow End With Close #1 Close #2 End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Axel.Strasser Ehrenmitglied V.I.P. h.c. Selbstständig im Bereich PLM/CAx
Beiträge: 4107 Registriert: 12.03.2001 Früher war vieles gut, und das wäre es heute immer noch, wenn man die Finger davon gelassen hätte!
|
erstellt am: 18. Dez. 2007 23:05 <-- editieren / zitieren --> Unities abgeben:
Hallo Thomas, danke, so scheint es jetzt auch zu klappen, wenn man den String zuerst zusammensetzt und dann insgesamt rausschreibt. Ich habe jetzt den Weg gewählt, das Problem an der Wurzel zu packen und sie gleich "richtig" in der Tabelle zu generieren, ist halt dann nicht an den Symptomen kuriert sondern an den Ursachen. Axel PS: Jetzt habe ich zuerst mal mein Projekt abgeschlossen und die Leute können am 1.1. live gehen [Diese Nachricht wurde von Axel.Strasser am 18. Dez. 2007 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|