Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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

UTF-8 in Excel importieren mittels VBA

UTF-8 in Excel importieren mittels VBA
21.11.2018 12:22:04
Tina232
Hallo zusammen,
ich möchte gerne mit einer Schaltfläche eine CSV-Datei importieren.
Habe bereits diesen Thread gefunden es ausprobiert:
https://www.herber.de/forum/archiv/1236to1240/1239032_CSVImport_ueber_VBA.html
Allerdings habe ich dort einige Probleme mit, denn:
1. Ich möchte das CSV in UTF-8 importieren
2. Die Daten sollen in eine bestehende Tabelle hinzugefügt werden, also die letzte Zeile. Sodass ich zwei Buttons erstellt habe, einmal "Neue CSV" und "CSV hinzufügen".
Der Unterschied zwischen den Funktionen der Buttons ist dann nur der, dass beim drücken "Neue CSV" der Inhalt in der Tabelle vorher gelöscht wird Beim drücken "CSV hinzufügen" wird hingegen nicht der Tabelleninhalt gelöscht, sondern der Import einfach in die letzte Spalte der Tabelle angehängt.
Könnt ihr mir da vielleicht helfen :)
Danke Lg Tina

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

Betreff
Datum
Anwender
Anzeige
AW: UTF-8 in Excel importieren mittels VBA
21.11.2018 14:44:03
Tina232
Hallo Armin, danke für deine Datei...
Ich hab es jetzt mittlerweile mit dem Makrorecorder so gemacht. Vermutlich richtig schlecht, aber so funktioniert ist.
Bloß das die Werte in UTF-8 importiert werden konnte ich nicht umsetzen...
Hast du da vielleicht ein Tipp?

Sub Neuer_Import_CSV()
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
Const cstrDelim As String = ";" 'Trennzeichen
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Datei wählen"
.InitialFileName = "\*.csv"  'Pfad anpassen
If .Show = -1 Then
strFileName = .SelectedItems(1)
End If
End With
Rows("6:99999").Select
Selection.Delete Shift:=xlUp
Rows("5:5").Select
Selection.ClearContents
If strFileName  "" Then
Application.ScreenUpdating = False
Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 1 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), cstrDelim)
If UBound(arrTmp) > -1 Then
With ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lngLast = Application.Max(lngLast, 5)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
End If
Rows("5:5").Select
Selection.Delete Shift:=xlUp
Range("K65").Select
Sheets("Auswertung").PivotTables("Pivot_Auswertung").PivotCache.Refresh
End Sub
Sub CSV_Daten_am_Ende_hinzufügen()
Dim strFileName As String, arrDaten, arrTmp, lngR As Long, lngLast As Long
Const cstrDelim As String = ";" 'Trennzeichen
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.Title = "Datei wählen"
.InitialFileName = "\*.csv"  'Pfad anpassen
If .Show = -1 Then
strFileName = .SelectedItems(1)
End If
End With
If strFileName  "" Then
Application.ScreenUpdating = False
Open strFileName For Input As #1
arrDaten = Split(Input(LOF(1), 1), vbCrLf)
Close #1
For lngR = 1 To UBound(arrDaten)
arrTmp = Split(arrDaten(lngR), cstrDelim)
If UBound(arrTmp) > -1 Then
With ActiveSheet
lngLast = .Cells(Rows.Count, 1).End(xlUp).Row + 1
lngLast = Application.Max(lngLast, 5)
.Cells(lngLast, 1).Resize(, UBound(arrTmp) + 1) _
= Application.Transpose(Application.Transpose(arrTmp))
End With
End If
Next lngR
End If
Rows("5:5").Select
Selection.Delete Shift:=xlUp
Range("K65").Select
Sheets("Auswertung").PivotTables("Pivot_Auswertung").PivotCache.Refresh
End Sub

Anzeige
AW: UTF-8 in Excel importieren mittels VBA
21.11.2018 16:35:05
Armin
Hallo Tina,
warum hast Du mein Sheet nicht probiert? Den Code braucht man nicht 2x. Aber wer nicht will der .....
Und OHNE csv-Datei kann man das nicht testen die müsstest Du schon zur Verfügung stellen.
Gruß Armin

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige