Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1772to1776
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
Inhaltsverzeichnis

CSV-Import Dezimalzahlen

CSV-Import Dezimalzahlen
24.07.2020 21:02:17
Robin
Hallo,
Ich habe Daten aus mehreren CSV-Dateien in Excel über ein Makro reinkopiert, das auch soweit funktioniert. Jedoch sind hier Punkte als Dezimaltrennzeichen drin. Über Suchen/Ersetzen kann ich ganz normal "." durch "," ersetzen, z.B -2.761449 zu -2,761449
Wenn ich diesen Weg über das Makro (Suchen und Ersetzen im Makrorecorder aufgenommen) gehen will, verwandelt dieser die Zahlen mit Tausendertrennzahlen, also in -2.761.449.
Vielleicht kann mir jemand helfen.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CSV-Import Dezimalzahlen
25.07.2020 02:10:29
onur
Liegt wohl an Zeile 37 deines Makros.
AW: beim Import beachten
25.07.2020 08:49:59
Fennek
Hallo,
es ist immer besser beim Importieren der CSV auf die Umwandlung der Zahlen zu achten, als dies nachträglich korrigieren zu wollen.
Im Zweifelsfall nenne die Datei um in *.txt, dann gibt es einen anderen Import-Assistenten.
mfg
AW: CSV-Import Dezimalzahlen
25.07.2020 10:38:43
fcs
Hallo Robin,
deine CSV-Datei ist scheinbar keine lupenreine CSV (. = Dezimaltrennzeichen - , = Spaltentrennzeichen)
Probiere mal vor dem Öffnen der CSV-Dateien die Excel-Option für das Dezimaltrennzeichen auf "." zu setzten, nach dem Import wieder zurückändern.
LG
Franz
Beispiel-Makro:
Sub Import_CSV()
' Import_CSV Makro
Dim varDatei As Variant
Dim wkbCSV As Workbook
Dim wksCSV As Worksheet
Dim wksZiel As Worksheet
Dim Zei_Z As Long, zei_L As Long, zeiStart As Long
Set wksZiel = ActiveWorkbook.Worksheets("CSV_Daten") 'Zieltabelle für Einfügen der CSV-Daten
'Excel-Dezimalzeichen vor dem Öffnen der CSV-Datei auf "." setzen
With Application
.DecimalSeparator = "."
.UseSystemSeparators = False
End With
'Startzeilen für Kopieren und Einfügen setzen
With wksZiel
If .Range("A1").Text = "" Then 'Blatt ist leer
zeiStart = 1 'bei 1. Datei ab Zeile 1 kopieren
Zei_Z = 1 '1. Einfügezeile
Else
zeiStart = 2
Zei_Z = .UsedRange.Row + .UsedRange.Rows.Count 'nächste freie Zeile
End If
End With
'CSV-Datei(en) auswählen und abarbeiten
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte zu importierende CSV-Datei(en) auswählen - Mehrfachauswahl ist möglich"
.FilterIndex = 6 'CSV-, TXT-Dateien
If .Show = -1 Then
For Each varDatei In .SelectedItems
Set wkbCSV = Workbooks.Open(Filename:="CSV_DatenStandrd_USA.csv", ReadOnly:=True)
Set wksCSV = wkbCSV.Sheets(1)
With wksCSV
zei_L = .UsedRange.Row + .UsedRange.Rows.Count - 1
.Range(.Rows(zeiStart), .Rows(zei_L)).Copy wksZiel.Cells(Zei_Z, 1)
End With
'nächste Einfügezeile
Zei_Z = Zei_Z + zei_L - zeiStart + 1
If zeiStart = 1 Then zeiStart = 2 'bei allen weiteren Daten ab Zeile 2
wkbCSV.Close savechanges:=False
Next
End If
End With
'Dezimalzeichen auf Systemeinstellungen zurücksetzen
Application.UseSystemSeparators = True
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige