Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

csv-Datei in vorhandene Exceldatei einlesen
#31
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.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#32
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
Antworten Top
#33
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!
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#34
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#35
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!


Angehängte Dateien
.xlsm   Kovertierungsmappe.xlsm (Größe: 20,78 KB / Downloads: 4)
.csv   Kontoumsaetze_Original_Bank anonym.csv (Größe: 2,13 KB / Downloads: 6)
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#36
Hallo Günter

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


Angehängte Dateien
.xlsm   clever_excel_forum_3362.xlsm (Größe: 23,62 KB / Downloads: 2)
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Antworten Top
#37
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.
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top
#38
Hallo Günter,

siehe vielleicht doch mal #30

Gruß Uwe
Antworten Top
#39
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)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#40
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.
[Bild: attachment-190.gif]
Gruß Günter
aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste