Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: ---> 4. September: Office-Treffen Rhein-Ruhr <-
CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???
zurück: Sonderzeichen in Tabellenreiter zulassen weiter: Eingabe Zelle = Auto ausfüllen von Zeilen/Spalten Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 10:05
Rufname:

CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen??? - CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???

Nach oben
       Version: Office 2007

Hallo zusammen,

ich möchte, die von mir kalkulierte Excel-Tabelle als CSV speichern. Dies funktioniert mit dem unten angefügten Anweisung ohne Probleme.

Das Problem was ich aber habe ist, dass die CSV nicht immer 2 Nachkommastellen hat.
Beispiel
Excel = 48,25 oder 42,20
CSV = 48,25 oder 42,2

Wie muss ich die VBA Anweisung umschreiben, dass es immer 2 Nachkommastellen sind und nicht wie oben im Beispiel da gestellt?

Die Zahlen befinden sich in der Spalte E:

Die Datei wird später automatisch in eine SQL-DB importiert und der Import funktioniert nur wenn 2 Nachkommastellen existieren.

Ich hoffe ich könnt mir weiterhelfen.

Besen Dank im Voraus


Public Sub ExportCSV()
Dim strLine As String
Dim strFile As String
Dim i As Long
Dim k As Long

On Error GoTo ErrorHandler
Err.Clear

' Ausgabedatei
strFile = ActiveWorkbook.Path & "\" & "GB_Quoten.csv"

' Datei löschen, falls diese existiert
If Dir(strFile) <> "" Then Kill strFile

' Datei öffnen
Open strFile For Output As #1

' Aktueller Bereich um Zelle A1
With Worksheets("Upload").Range("A1").CurrentRegion

For i = 1 To .Rows.Count
' Alle Zeilen durchlaufen

strLine = ""

For k = 1 To .Columns.Count
' Alle Spalten durchlaufen

' Ausgabezeile aus Zellinhalten
strLine = strLine & .Cells(i, k) & ";"

Next k

' letztes Semikolon entfernen
strLine = Left(strLine, Len(strLine) - 1)

' Zeile ausgeben
Print #1, strLine

Next i

End With

Close

MsgBox "CSV-Datei:" & vbCrLf & strFile & vbCrLf & _
"erfolgreich angelegt"

Exit Sub
ErrorHandler:
MsgBox "Fehlermeldung Original:" & vbCrLf & Err.Description _
& vbCrLf & vbCrLf & _
"Eventuell Fehler beim Anlegen der Datei" & vbCrLf & _
strFile & vbCrLf & _
"Laufwerk möglicherweise Schreibgeschützt (CD)"
End Sub
EtoPHG
Ich sehe schwarze Zeiten kommen...


Verfasst am:
08. März 2010, 10:33
Rufname: Hansueli


AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen??? - AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???

Nach oben
       Version: Office 2007

Hi Michael,

Was soll den das bringen? Der Witz einer CSV-Struktur besteht doch gerade darin, dass die Feldlänge variabel lang sein kann. Die Trennzeichen (z.B. Komma) definieren doch wann ein Feld beginnt und wann aufhört. Was soll es da bringen, dass nicht-signifikante Kommastellen zusätzlich abgespeichert werden? Mit dem Import in die DB hat das mit Sicherheit nichts zu tun, ausser du hast einen selbstgebastelten Filter, der auf Fixen-Recordlängen beruht, was dann alle Vorteil von CSV wieder zunichte macht.

Gruess Hansueli

_________________
Forenhelfer danken für eine Rückmeldung!
Der Kluge lernt, der Dummkopf erteilt gern Belehrungen. - Anton Tschechow
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 10:55
Rufname:

AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen??? - AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???

Nach oben
       Version: Office 2007

Hallo Hansueli,

erstmals vielen Dank für die schnelle Antwort.

Zum Thema Upload kann ich nichts sagen -- unsere IT hat die vorgabe geben, dass nur Datensätze importiert und in einer Tabelle abgelegt werden, welche im Format 00,00 aufgebaut sind.

Beispiel für meine bisherige CSV-Datei über den Code
2010-02;xxxx;xxxxxxxx;0;50,31
2010-02;xxxx;yyyyyyyy;0;50,5
2010-02;xxxx;zzzzzzzz;0;49

Folglich würde jetzt nur der erste Datensatz importiert werden...
Rieu
leidlicher Excel-VBA-Amateur


Verfasst am:
08. März 2010, 11:02
Rufname:

AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen??? - AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???

Nach oben
       Version: Office 2007

Wäre das dann nicht:

Code:
Format(zahl, "##,##0.00")


?
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 11:06
Rufname:

AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen??? - AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???

Nach oben
       Version: Office 2007

Hallo,

wenn du mir jetzt noch sagen könntest, wo ich dies einfügen müsste, könnte ich es sofort testen.

Habe erst angefangen mich für VBA zu interessieren, zu lernen.
Der Code ist nicht von mir.


Zuletzt bearbeitet von MichaelB. am 08. März 2010, 11:07, insgesamt einmal bearbeitet
EtoPHG
Ich sehe schwarze Zeiten kommen...


Verfasst am:
08. März 2010, 11:07
Rufname: Hansueli

AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen??? - AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???

Nach oben
       Version: Office 2007

Hi Michael,

Hast du denn dein IT mal gefragt, was passiert wenn da, statt
50,31
492173,7 steht ?

Ein Ansatz wäre, dass du Zellen mit numerischem Inhalt so überträgst:
Code:
Format(Cells(i, k), "0.00") & ";"

also z.B. für Spalte 5:
Code:
strLine = strLine & IIF(k = 5, Format(Cells(i, k), "0.00"), .Cells(i, k)) & ";"



Gruess Hansueli

_________________
Forenhelfer danken für eine Rückmeldung!
Der Kluge lernt, der Dummkopf erteilt gern Belehrungen. - Anton Tschechow


Zuletzt bearbeitet von EtoPHG am 08. März 2010, 11:10, insgesamt einmal bearbeitet
Rieu
leidlicher Excel-VBA-Amateur


Verfasst am:
08. März 2010, 11:10
Rufname:

AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen??? - AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???

Nach oben
       Version: Office 2007

Ich bin zwar nicht Hansueli, aber änder mal Deine Code so ab (ungetestet):
Code:

If k = 5 Then
    strLine = strLine & Format(.Cells(i, k) , "##,##0.00")& ";"
Else
    strLine = strLine & .Cells(i, k) & ";"
End If


Dafür natürlich die Zeile
Code:
strLine = strLine & .Cells(i, k) & ";"
überschreiben...
MichaelB.
Im Profil kannst Du frei den Rang ändern


Verfasst am:
08. März 2010, 11:24
Rufname:


AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen??? - AW: CSV-Datei mit VBA erstellen inkl 2 Nachkommastellen???

Nach oben
       Version: Office 2007

Hallo Rieu und Hansueli,

vielen Dank für eure Hilfe.

Ich habe eure beiden Codes getestet und ich kann beide verwenden Smile

Nochmals vielen Dank für eure Hilfe.

Ihr seit super!!!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Komplizierte Abfrage erstellen 12 Gast 100 26. Mai 2010, 15:41
muhmaff Komplizierte Abfrage erstellen
Keine neuen Beiträge Excel Auswertungen: Würde gerne Gradmesser auf Halbkreis erstellen... 3 Gast 212 17. Apr 2010, 21:06
Gast Würde gerne Gradmesser auf Halbkreis erstellen...
Keine neuen Beiträge Excel VBA (Makros): *.txt datei erstellen // dateiname = zeitstempel 4 truespin 525 05. März 2010, 00:33
aimoehl *.txt datei erstellen // dateiname = zeitstempel
Keine neuen Beiträge Excel VBA (Makros): Rechnungsnummer erstellen 6 Daethman 550 05. Jan 2010, 13:58
Daethman Rechnungsnummer erstellen
Keine neuen Beiträge Excel Formeln: Angebot mit variablen Nummern in Excel erstellen??? Formel? 4 Bennla 105 30. Okt 2009, 11:58
Bennla Angebot mit variablen Nummern in Excel erstellen??? Formel?
Keine neuen Beiträge Excel Hilfe: *T*Excel-Tabelle in csv-Datei umwandeln 3 ajoram 428 29. Okt 2009, 13:43
< Peter > *T*Excel-Tabelle in csv-Datei umwandeln
Keine neuen Beiträge Excel VBA (Makros): begrenzung von Nachkommastellen - Problem 2 Gast 307 26. Sep 2009, 12:51
Gast begrenzung von Nachkommastellen - Problem
Keine neuen Beiträge Excel VBA (Makros): Ein Makro per Makro verändern/erstellen 2 ExcelTüftler 101 10. Dez 2008, 00:54
ExcelTüftler Ein Makro per Makro verändern/erstellen
Keine neuen Beiträge Excel Formate: Hyperlink automatisch erstellen 3 Schiemann 1730 09. Jul 2008, 13:54
Schiemann Hyperlink automatisch erstellen
Keine neuen Beiträge Excel VBA (Makros): DropDown Menü erstellen und Quellbereiche festlegen 0 Samoh T 2234 23. Okt 2007, 14:12
Samoh T DropDown Menü erstellen und Quellbereiche festlegen
Keine neuen Beiträge Excel Auswertungen: Reiter Index im Excel erstellen 5 Frenchie76 1943 21. Apr 2007, 21:41
unrädschistert Reiter Index im Excel erstellen
Keine neuen Beiträge Excel Auswertungen: Diagramm aus Excel mit Macro erstellen 6 mindbreaker 12525 05. Feb 2007, 10:47
Gast Diagramm aus Excel mit Macro erstellen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML CSS