Clever-Excel-Forum

Normale Version: csv-Datei in vorhandene Exceldatei einlesen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4 5
Hallo Günter,

freut mich. Bei uns hat es auch bis gegen Mittag geschneit.
Ich hab übrigens noch die Anzahl Spalten mit dem Counter icnt flexibel programmiert, hab's im code kommentiert - will's nur noch mal der Vollständigkeit halber noch außerhalb des codes hier erwähnen.
Bei mir funktioniert die Eingebaute Möglichkeit 'Texttocolumns' einwandfrei:

Code:
Sub M_snb()
  With Application.FileDialog(3)
    .Filters.Add "CSV-Dateien", "*.CSV"
    .Title = "Bitte Datei auswählen"
    If .Show = -1 Then sn = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile(.SelectedItems(1)).readall, vbCrLf)
  End With
  If IsEmpty(sn) Then Exit Sub
    
  Sheet1.Cells(1).Resize(UBound(sn) + 1) = Application.Transpose(sn)
  Sheet1.Cells(1).CurrentRegion.TextToColumns , , , , 0, -1, 0, 0, 0, , Array(Array(1, 4), Array(2, 4))
End Sub
Hallo,

mit André's Lösung läuft das Einlesen der unterschiedlichsten Dateien, so dass ich bitte keine weitere Zeit damit "verschwenden" solltet. Diese flexible Lösung passt insoweit am Besten, weil es immer einmal Änderungen an der Struktur und dem Aufbau der Kontoauszüge der Banken gibt.

Meine Bedürfnisse sind allseitig abgedeckt!
Hallo Günter!
[ein wenig offTopic]
Ich erinnere mich deutlich, dass ich nach meinen ersten Begegnungen mit snb in diversen Foren ähnlich ungehalten wie Du reagiert habe.
(fehlende Deklarierung von Variablen, zur Unkenntlichkeit verkürzter Code, ...)
Ich dachte, dass in den Niederlanden wohl die Bildschirmtinte knapp ist.  :21: :17:
Aber:
Ich habe verdammt viel von ihm gelernt!
Und ja, ich deklariere immer noch und schreibe benannte Parameter immer noch so, dass ich auch in Jahren noch weiß, was ich da verbrochen habe ...  :05:
Im Übrigen ist seine Homepage ein Fundus!
Beispiel: Füllen eines Dropdowns: 
http://www.snb-vba.eu/VBA_Fill_combobox_listbox_en.html

Just my two cents,

Gruß Ralf
Hallo Gemeinde,

ich muss das Thema nochmals aufwärmen, weil es ein Riesenproblem beim Einlesen der Daten kommt, denn das funktioniert nicht immer richtig!

Soll die originalgenerierte csv-Datei der Bank eingelesen werden, versagt die Einleseroutine und schreibt alle Daten fortlaufend in eine Zeile - wird die csv-Datei jedoch in einem normalen leeren Excelblatt geöffnet, sind die Spalten und Zeilen in Ordnung.
Speichere ich diese geöffnete csv-Datei aus Excel heraus wieder als csv-Datei, dann kann diese dann ordnungsgemäß mit der Einleseroutine eingelesen werden.

Ich habe mal die Einleseroutine und eine originalbelassene csv-Datei (anonymisiert!) zum Test angehangen - wo ist der Fehler in der Einleseroutine bzw. welche Änderung ist da erforderlich, dass das richtig erfolgt? Ich komme da leider nicht weiter!
Hallo Günter

Ich hätte eine Lösung mit Power Query anzubieten.
Hallo Detlef,

vielen Dank für Deine Mühe und das Beispiel, leider hilft mir das aber nicht weiter!

Der Einlesevorgang ist nur ein Hilfsmittel, damit die Daten dann in einem größeren Projekt weiterverarbeitet werden können
Genau genommenpassiert folgende:
1. Das Projekt  koordiniert und kontrolliert Zahlungsströme über das Jahr und ordnet diese einzelnen Kategorien (Tabellenbllätter) und den jeweiligen Monaten zu.
2. Dazu wird deer von der jeweiligen Bank bereitgestellte online-csv-Bankauszug eingelesen - das ist das Problem!
3. Dann werden die Zahlungen anhand der IBAN dem jeweiligen Gläubiger und dem Zeitraum zugeordnet
4. Es wird der jeweils eingelesene Zeitraum kontrolliert, damit keine Doppelerfassungen erfolgen.

Deshalb brauche ich diese Einleseroutine innerhalb des Projektes.
Hallo Günter,

siehe vielleicht doch mal #30

Gruß Uwe
Hallo Günter,

in der Datei ist ein anderer Zeilentrenner bzw. nur der LineFeed ohne CarrigeReturn.
Statt
varErgebnis = Split(strInhalt, vbCrLf)
benötigst Du jetzt
varErgebnis = Split(strInhalt, vbLf)
Hallo Uwe,

kurz und schmerzlos - ich hätte deinen Code schon viel früher testen sollen, denn der funktioniert mit beiden Dateitypen, den originalen Bankdaten als auch denen über das Öffnen und Speichern in Excel - er sah mit (bisher) nur so kurz aus :17: 



Hallo André,

Dein Änderungsvorschlag im Code hat leider nichts gebracht, es wurde nur noch weniger eingelesen.
Ich habe mich nun für Uwes Lösung entschieden!
Vielen Dank für Deine Mühe.
Seiten: 1 2 3 4 5