Cobol-Victim Geschrieben 10. September 2003 Teilen Geschrieben 10. September 2003 Mahlzeit, ich brauch mal wieder das geballte wissen dieses forums: ich möchte mit excel eine txt-datei öffnen und formatieren, das klappt im grossen und ganzen auch. nur drei kleine sachen sind noch nicht zu meiner zufriedenheit gelöst: in einer zelle sollen nacher währungsbeträge stehen und zwar in folgender form: 3,25 in der txt steht sie aber im format 325. kennt wer eine möglichkeit? über zellen formatieren klappt nicht! da kommt dann folgendes format: 325,00 mein code für diese spalte: Columns("E:E").Select With Selection .ColumnWidth = 20 .HorizontalAlignment = xlCenter .VerticalAlignment = xlBottom .WrapText = False .Orientation = 0 .AddIndent = False .ShrinkToFit = False .MergeCells = False End With dann die nächste sache: ich möchte die datei als xls speichern und nicht mehr als txt. wie definiere ich den dateityp als xls-vor. im dialogfenster "speichern unter..." mein code bis jetzt: Sub SpeichernUnter() ChDrive ("c") ChDir ("c:\tmp\") Application.Dialogs(xlDialogSaveAs).Show ("c:\tmp\csvpl5.xls") End Sub und last but not least das letzte prob: wie über nehme ich vornullen? sprich excel löscht vornullen wenn sie kommen, darf es in dem fall aber nicht weil es sich um postionsnummer handelt die das format behalten müssen. beispiel: in der txt steht die positionsnummer 0010 excel macht daraus 1. wie kann ich das für eine komplette spalte mit vba realisieren?? ich hab eigentlich gar keinen plan von vb bzw vba, aber ich denke ihr könnt mir helfen, naja, zumindest hoffe ich das! vielleicht braucht man dafür ja nicht mal ein crack sein ?! :confused: ok, dann verbleib ich mal so mit der hoffnung auf rasche hilfe. thx Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 10. September 2003 Teilen Geschrieben 10. September 2003 Hmmm erklaer bitte mal wieso 325. gleich 3,25 sein soll? Was ist das fuer ne Notation? Zum zweiten Problem...versuchs mal mit : Application.Dialogs(xlDialogSaveAs).Show arg1:="csvpl5.xls", arg2:=1 und mit den Vornullen....wenns dir ja nur um die Formatierung geht und du nicht damit rechnen musst, dann kannst den Datentyp der Spalte doch einfach auf Text setzen. Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cobol-Victim Geschrieben 10. September 2003 Autor Teilen Geschrieben 10. September 2003 die sache mit dem als xls speichern hab ich gelöst. trotzdem danke. dann zu den 325: in der txt die ich bekomme steht der wert als 325 ( die letzten beiden sind immer cent-beträge) nach der formatierung soll excel da 3,25 rausmachen. steht in der txt der wert 154822 soll es nach der formatierung so aussehen: 1548,22 ich möchte jetzt wissen, wie ich excel sagen kann: nimm die beiden letzten stellen als cent und setz vor der vorletzten nummer ein komma ich hoffe das ist verständlicher geworden zu den vornullen: in der txt steht 0010, es wird mit den daten weder gerechnet noch sonst irgendwas mit gemacht. es soll nur so übernommen werden. wie sieht der vba-code dazu aus??? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goos Geschrieben 10. September 2003 Teilen Geschrieben 10. September 2003 Aus 325 -> 3,25 zu machen, das geht wohl nur mit Berechnung. Du setzt also erst das Zahlenformat mit Nachkommastellen und berechnest in ner Schleife dann die neuen Werte. Schaut etwa so aus: Sheets("sheet1").Select Range("A1:A5").Select Selection.NumberFormat = "0.00" For i = 1 To 5 Cells(i, 1) = Cells(i, 1) / 100 Next i [/PHP] fuer die Vornullen setzt du einfach Textformat [PHP]Range("A1:A10").Select Selection.NumberFormat = "@" Goos Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Cobol-Victim Geschrieben 10. September 2003 Autor Teilen Geschrieben 10. September 2003 DANKE!!!! ich werds mal so versuchen..... wenns nicht klappt, meld ich mich! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.