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)
28.11.2015, 15:17 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2015, 15:18 von snb.)
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
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!
Gruß Günter aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
28.11.2015, 17:24 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2015, 17:24 von RPP63.
Bearbeitungsgrund: peinlichen Vornamenfehler beseitigt ... (mal wieder)
)
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)
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!
Gruß Günter aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
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.
Gruß Günter aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig
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)
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.
Gruß Günter aus der Helden-, Messe-, Musik-, Buch-, Universitäts- und Autostadt Leipzig