Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1460to1464
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
Makro CSV Import
08.12.2015 16:13:38
Liliane
Hallo Liebe Gemeinde,
das ist mein erstes Posting. Ich möchte gerne eine von meiner Bank herunterladbare CSV-Kontoauszug
auswerten, damit ich die Erfolgten und nicht erfolgten Zahlungen kontrollieren kann. Bisher gehe ich jede Zahlung manuell durch und kopiere sie in das Blatt "Garagen"
Ich habe versucht mittels Makroaufzeichnung einiges zu erreichen. Leider ohne viel Erfolg. Auch mit copy,wechsel zum Blatt CSV.Kontoauszug, suchen, Betrag copieren, wechsel zum Blatt "Garagen" udn einfügen brachte nicht viel erfolg. Es lief durch bis zu einer nicht gefundenen IBAN in CSV-Kontoauszug dann kam Debug Fehler.
Was ich bisher erreicht habe ist,
Ein Button... zum sortieren nach Name
Ein Button....zum sortieren nach Garagen Nr.
Der Aufbau des 1.Blatts namens "Garagen" ist wie hier aufgeführt:
B C D E F G
Garage Nr........Name...........IBAN............Buchungstag......Miete
1 XY DE12345.... 01.12.2015 33,85 EUR
2 XYZ DE56789.... 01.12.2015 34,55 EUR
3 WXYZ DE98543.... 05.12.2015 34,55 EUR Schoko Str 12345
.....bis 100
Dieses Blatt ändert sich inhaltlich nur, wenn Mieter wechseln, wenn Bankverbindung- IBAN sich ändert oder wenn sich die Mieten ändern.
Nun würde ich gerne den heruntergeladenen CSV-Kontoauszug (ist immer im selben Ordner im Laufwerk O:\Bakauszüge) im Hintergrund verarbeiten oder wenn es nicht anders geht, in ein neues Blatt einlesen,
-zum Hauptblatt "Garagen" wechseln, die erste IBAN-Nr. aufgreifen
-zum CSV-Bankauszug wechseln, nachschauen ob sich diese IBAN dort befindet,
wenn ja,- den zugehörigen Zahlbetrag und Buchungsdatum heraus kopieren,- zum Hauptblatt "Garagen" wechseln und dort in die zugehörigen Zellen hinein schreiben lassen.
wenn nein, sprich wenn sich die gesuchte IBAN in der CSV nicht befindet, dann zurück zum Hauptblatt "Garagen" und nächste IBAN aufgreifen usw. bis alle IBAN Nummern des Hauptblatts "Garagen durchgelaufen sind.
Herzliches Dankeschön vor ab.
Gruß
Lili

47
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Kann man machen
08.12.2015 19:55:00
Michael
Hallo Lili,
aber bitte mit Beispiel-Datein.
Jeweils ein paar Zeilen Deiner Tabelle bzw. der csv-Datei genügen (bitte anonymisiert mit Phantasie-Daten).
Schöne Grüße,
Michael

AW: Kann man machen
08.12.2015 21:04:09
liliane
Hallo Michael
vielen Dank für Deine Rückantwort. Es wäre supi wenn es klappen würde.
Da ich dieses Forum nicht richtig bedienen kann (bin neu in solchen dingen), hoffe ich das meine Dateien richtig hochgeladen wurden. Es sind 2 Dateien. 1 als Tabelle, eins als csv.
Das ist der Link:https://www.herber.de/bbs/user/102122.zip
Danke und schöne Grüße
Lili

AW: Kann man machen
09.12.2015 17:31:26
Michael
Hallo Lili,
Datei anbei: https://www.herber.de/bbs/user/102139.xlsm
Deinen "Grundpfad" (also das O:\Dings\) gibst Du bitte in S2 ein (bitte \ am Ende!), und wenn Du dann den Button "Datei suchen " drückst, kannst Du die jeweils aktuelle CSV-Datei suchen.
Eingelesen/verglichen werden die Daten dann direkt nach Knopfdruck auf "Start Zahlungsabgleich".
Es kann ja diverse Eventualitäten geben...
a) Zahlung bereits vorhanden
b) irgendwas nicht gefunden
... und um die zu dokumentieren, habe ich ein weiteres Tabellenblatt "Fehler" angelegt, das Du nach jedem Buchungslauf ansehen kannst.
Zur Logik: bei der Zuordnung unterschiedlicher Daten ist es immer gut, einen "eindeutigen Schlüssel" zu haben, und gerade dafür ist die IBAN nicht geeinget: erstens gibt es doppelte, und die wiederum jeweils mit gleichen und/oder verschiedenen Namen. Excel ist nicht hellseherisch veranlagt, also muß man schon etwas nehmen, was eindeutig ist, und das ist in diesem Fall die Garagen-Nr.
Die Datei sollte so tun, wie Du es Dir vorstellst.
Grundsätzlich würde ich Dir aber einige (zunächst gedankliche) Erweiterungen ans Herz legen:
a) Trennung von Mieter- und Buchungsdaten. Leg Dir ein Blatt "Mieter" an und mach da ne Tabelle mit Anschriften, Tel. usw., das mußt Du nicht in der Buchhaltung mit herumschleppen.
b) Generierung eines *wirklich* eindeutigen Schlüssels, quasi ein Mini-Kontenrahmen.
Struktur etwa wie folgt:
Kontenschlüssel: G wie Garage
Garage-Nr. : 1 bis 23
Mieter-Nr.: 1 bis 99
zusammengesetzt also pro Garage Gnnmm bzw. beispielsweise für den 3. Mieter der 5. Garage: G0503
Warum? Mit diesem Schlüssel ist völlig eindeutig, worauf sich eine Zahlung bezieht. Was wäre denn mit Deinem System, wenn ein alter Mieter verspätet bezahlt und Du beide Zahlungen in einem Monat hast?
c) Aufbohren der Tabelle auf jahresweise: mit dem Datum der Sollstellung und dem Schlüssel wie b) kannst Du Dich mit Sortieren und "Zwischenergebnisse" schön pro Zeitraum bzw. pro Garage informieren.
d) Trennung von Sollstellung und Zahlungseingang (d.h. gleiche Tabelle, aber Soll und Haben in zwei oder noch mehr Zeilen): Wäre ne Erweiterung von c), die ich aber auch nicht immer ganz konsequent umgesetzt habe.
Der Vorteil von d) ist letztlich, daß man *alle* Zahlen vermantschen kann, die auf dem Konto laufen, so daß das ganze Ding dann auch gleich als Buchhaltung für die Steuer (*) taugt - dann ist die "kontenweise" Darstellung bzw. Überprüfung von Zahlungen quasi ein netter Nebeneffekt.
(*) vorbehaltlich Rücksprache mit Deinem StB
Schöne Grüße,
Michael

Anzeige
AW: Kann man machen
10.12.2015 13:16:01
Liliane
Hallo Micahel,
ich habe mir das fehlerblatt angeschaut. Siehe Bild
Userbild
Kurioser weise steht in der letzten zeile Grg.Nr.5326 nicht gefunden! ich habe keine Garage mit dieser nummer, noch dazu ist diese zahl mit der Zahl in der Spalte "Verwendungszweck identisch. Falsch zugeordnet vuielleicht ?
Gruß
Lili

AW: Kann man machen
10.12.2015 15:01:32
Christoph
Hallo Lilli,
ist genau das gleiche Problem wie bei mir, dass Michael mit einen anderen Aufbau der CSV-Datei gearbeitet hat.

AW: Kann man machen
09.12.2015 18:41:50
Liliane
Hallo Michael,
erst einmal ein riesen Dankeschön für Deine Arbeit.
Dein Text im Posting muss ich erst einmal richtig lesen und zu verstehen versuchen. Ich werde es auf jeden fall beherzigen und komme gerne nochmal drauf zurück.
Aber momentan habe ich das problem, dass das Makro ein Laufzeitfehler ausgibt.
f = 3
fehler = ""
For z = 3 To unten
zwischen = arr(z, 5)
p = InStrRev(zwischen, " ")
garNr = Mid(zwischen, p + 1) * 1 (Laufzeitfehler Wird Gelb angezeigt)
Set c = Sheets("Garagen").Range("F4:F90").Find(garNr)
' Stop
If Not c Is Nothing Then
If c.Offset(0, 7) "" Or c.Offset(0, 8) "" Then
Sheets("Fehler").Range("A" & f & ":H" & f) = WorksheetFunction.Index(arr, z, 0)
Sheets("Fehler").Range("I" & f) = "Garage Nr. " & garNr & " Buchung bereits vorhanden"
f = f + 1
Else
c.Offset(0, 7) = arr(z, 1) ' Buchungstag
c.Offset(0, 8) = arr(z, 8) ' Betrag
End If
Else
Sheets("Fehler").Range("A" & f & ":H" & f) = WorksheetFunction.Index(arr, z, 0)
Sheets("Fehler").Range("I" & f) = "Garage Nr. " & garNr & " aus CSV nicht in Sollstellung gefunden"
f = f + 1
End If
Next
End Sub
Nun, ich habe folgendes gemacht. Das Blatt was Du zur Verfügung hattest war ja mit Garagen von 1-27 und erfundene IBAN's.
Ich bin hingegangen, habe die zellen im original Blatt von mir komplett kopiert und in das neue Blatt von Dir eingefügt, habe dann in "S2 den Pfad für CSV angegeben und auf Button "Start Zahlungsabgleich" gedrückt. Dan kam die Meldung "Laufzeitfehler 13, Typen unverträglich" und wenn ich auf debuggen klicke dann zeigt es mir den oben angegebenen Bereich: garNr = Mid(zwischen, p + 1) * 1 in Gelb an.
Wäre super wenn hier eine Lösung wäre.
Danke
Lili

Anzeige
AW: Kann man machen
10.12.2015 14:49:55
Michael
Hi Lili,
ich habe den Eindruck, daß Deine "echte" CSV anders aussieht wie die, die Du hochgeladen hast:
a) Dein Bild vom 10.12 13h16: offensichtlich existiert hier eine Zeile "Letzter Kontostand", der in meiner Testdatei nicht vorhanden war.
Daß der wiederum im Fehler-Blatt landet, sieht vielleicht nicht schön aus, ist aber auch keine Fehlfunktion - welcher Garage würde man denn den letzten Kontostand auch zuordnen wollen?
b) sieht man aber auch diese seltsame Garagen-Nr. ...
Hier vermute ich, daß Deine Daten anders aussehen als die im Beispiel.
Im Beispiel steht in Spalte E der Verwendungszweck, mit der Struktur...
Garage 1
Garage ..
Garage 27
... die ich jeweils von rechts nach dem Leerzeichen durchsuche, so daß rechts vom "Fundort" die Nr. ist, die ich dann mit Mid übernehme.
Wenn Du jetzt andere Daten als im Beispiel hast, kann das natürlich nicht gehen.
Also strukturiere Deine Daten bitte wie im Beispiel *oder* denke über meinen Kommentar zu einem "eindeutigen Konto" nach, dann machen wir's gleich richtig.
Schöne Grüße,
Michael

Anzeige
AW: Kann man machen
10.12.2015 17:50:46
Liliane
Hallo und guten Abend Michael,
Du sorry, ich habe Dein Posting nicht gesehen. Ich bin ziemlich neu in diesen Dingen und verliere schnell den Überblick. Dabei hattest Duz schon Heut Mittag geantwortet ich Blindfisch.
Deine Emailadresse ist leider nicht öffentlich. Ich habe auf den link geklickt jedoch sehe keine email adresse.
Gruß
lili

steht im Bild
10.12.2015 18:20:58
Michael
Hi Lili,
Bild
Gruß,
Michael

AW: Kann man machen
09.12.2015 15:13:06
Christoph
Hier mal ein Versuch.
Da ich nur geringe VBA-Kenntnisse habe musst du noch 1-2 Sachen beachten.
Ich habe das ganze über eine Hilfsdatei gelöst.
Du musst in deinen Ordner eine leeree Exceldatei mit den Namen "Überweisungsdaten.xlsx" erstellen.
Außerdem muss deine Buchungsmaske den Namen "Buchungsmaske.xlsm haben.
Habe das Makro auf den Button "Start Zahlungsabgleich" gelegt. Sollte dann eigentlich klappen.
https://www.herber.de/bbs/user/102135.xlsm

Anzeige
AW: Kann man machen
09.12.2015 16:41:44
Liliane
Hallo Christoph
vielen Dank für Dein Vorschlag. Leider funktioniert das einlesen nicht. Auch die Tabelle wird irgendwie zerschossen.
Bisher habe ich einige Makros die Funktionieren.
Hier ist der Code den ich durchlaufen lasse:
Sub B_1_NeuesBlatt_fuer_CSV_Import_Formatieren_zurueck_Hauptblatt()
' Neues Blatt Anlegen mit CSV Import Formatieren und zurueck zum Hauptblatt
Application.ScreenUpdating = False
strName = ActiveSheet.Name
Sheets.Add After:=Sheets(strName)
ActiveSheet.Name = strName & "CSV_Kontoauszug"
Dim Importdatei$, Verzeichnis$
Verzeichnis = "O:\Kontoauszuege"
On Error Resume Next
ChDir Verzeichnis
Importdatei = Application.GetOpenFilename("Exceldateien (*.csv), *.csv")
Application.ScreenUpdating = False
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & Importdatei, _
Destination:=Range("A1"))
.TextFileSemicolonDelimiter = True
.Refresh BackgroundQuery:=False
' Blatt wird Nach Spalten Formatiert und nach Blatt Garagen  gewechselt
Application.ScreenUpdating = False
Application.ScreenUpdating = False
Columns("A:A").ColumnWidth = 15.57
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
Range("A2").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A3").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Range("A4").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Columns("C:C").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Columns("D:D").Select
With Selection
.HorizontalAlignment = xlLeft
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Columns("G:G").Select
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
Columns("G:N").Select
Selection.Delete Shift:=xlToLeft
Columns("H:H").Select
Selection.Delete Shift:=xlToLeft
Columns("G:G").Select
Selection.NumberFormat = "_(* #,##0.00_);_(* (#,##0.00);_(* ""-""?_);_(@_)"
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Cells(65000, 1).End(xlUp).Offset(1, 0).Select
' C_Wechsel_von_Garagen_nach_GaragenCSV_Kontoauszug Makro
Sheets("Garagen").Select
' SortNR Makro
Application.ScreenUpdating = False
ActiveWindow.SmallScroll Down:=-12
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
ActiveWorkbook.Worksheets("Garagen").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Garagen").Sort.SortFields.Add Key:=Range("F7:F78") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Garagen").Sort
.SetRange Range("F6:T78")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("F6").Select
End With
End Sub
Vor End If fehlt mir halt noch dieses Suchen und EInfügen Makro wie in meiner ersten Post beschrieben.
Danke
Gruß
Liliane

Anzeige
AW: Kann man machen
09.12.2015 20:06:19
Christoph
Hm.
Bei mir klappt alles wie gewünscht.
Kann auch Mieter hinzufügen die dann berücksichtigt werden ohne das das Makro angepasst werden muss.
Denke, dass das Problem ist, dass deine Buchungsdatei etwas anders aufgebaut ist wie deine Beispieldatei.

AW: Kann man machen
09.12.2015 21:15:38
Liliane
Hallo Christoph
die Buchungsdatei (Wenn Du den Kontoauszugs CSV damit meinst) ist genauso aufgebaut wie ich es hier als datei hochgeladen habe.
Gruß
liliane

AW: Kann man machen
09.12.2015 21:48:39
Christoph
Ne. Die meine ich nicht. Meine die Datei wo die Daten reinkopiert werden sollen.

AW: Kann man machen
09.12.2015 21:50:37
Liliane
Huch ich probiere es gleich nochmal. ich hatte nämlich Deine Datei nicht umbenannt. :)

Anzeige
AW: Kann man machen
09.12.2015 21:58:30
Liliane
Hallo Christoph
also auch das umbenennen hat kein erfolg gebracht. Ich bekomme eine Fehlermeldung. Siehe das Bild was ich hier angehängt habe.
Userbild
Gruß
Lilli

AW: Kann man machen
10.12.2015 07:41:40
Christoph
Hallo Lilli,
Ok. Der Fehler ist, dass die CSV-Datei die du veröffentlicht hast einen anderen Aufbau hat, wie die, die du bei dir verwendet hast.
Denke das der Tabellenkopf so aussieht.
Userbild
Bei deiner Tabelle existieren die ersten 3 Zeilen nicht.
Hier die angepasste Variante.
Eventuell Pfade oder Dateinamen ändern.
https://www.herber.de/bbs/user/102144.xlsm
Gruß Christoph

Anzeige
AW: Kann man machen
10.12.2015 13:03:42
Liliane
Hallo Christoph,
vielen Dank für Deine Mühe.
Auch die neue Version leider kein Erfolg. Es werden keine Daten eingelesen bzw. Importiert. Makro läuft ohne Fehler durch.
Userbild
Gruß
Liliane

AW: Kann man machen
10.12.2015 14:57:43
Christoph
Hallo Lilli,
Könntest du die letzten 10 Zeilen mal durch diese ersetzen bzw. die richtigen Zeilen auskommentieren.
Dann mal die Datei Überweisungsdaten hochladen oder ein Bild einfügen und die Formal von Buchungsmaske N4 und M4 hier reinstellen.
'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
':=False, Transpose:=False
Range("N1").Activate
Range("M4").Activate
ActiveCell.FormulaR1C1 = "Buchungstag"
Range("N4").Activate
ActiveCell.FormulaR1C1 = "Betrag"
Range("N1").ClearContents
'Windows("Überweisungsdaten.xlsx").Activate
'ActiveWorkbook.Close savechanges:=False

Anzeige
AW: Kann man machen
10.12.2015 16:30:15
Liliane
Hallo Christoph
leider kein Erfolg :(
Nach dem einfügen deiner Zeilen wie beschrieben passiert nichts.
Die Buchungsmaske ist nach wie vor leer. Das Bild ist identisch mit dem was ich hochgeladen habe.
Formular Überweisungsdaten auch leer! was mcih nur wundert, er legt immer 3 Blätter an mit Tabelle1 Tabelle2 Tabelle3
Gruß
Liliane

AW: Kann man machen
10.12.2015 16:39:54
Christoph
Hallo Lilli,
Wo legt er diese 3 Tabellenblätter an?
Das kann eigentlich gar nicht passieren.
Das Überweisungsdaten leer bleibt spricht entweder dafür,
dass der Kontoauszug keine csv Datei ist
oder der falsche Pfad für diese Datei angegeben ist.
Gruß
Christoph

Anzeige
AW: Kann man machen
10.12.2015 16:42:05
Liliane
Du Christoph,
kannst Du mir bitte einen Code geben der sagt:
Suche im Blatt "Garagen" nach begriffe beginnend mit IBAN........ nach,
gehe zu Blatt "GaragenCSV_Kontoauszüge und suche die gleiche IBAN,
wenn gefunden, springe zu Spalte "Haben" kopiere den "Betrag" aus der Zelle
springe zur Spalte "Buchungstag" kopiere das Datum, gehe zurück zum Blatt "Garagen"
und kopiere sie in die zugehörigen Zellen.
wenn nicht gefunden,
gehe zurück zu Blatt "Garagen" suche nächste IBAN, gehe zu GaragenCSV_Kontoauszug usw....
Als Lösungsansatz.
Danke und cü
Lili

AW: Kann man machen
10.12.2015 16:52:21
Christoph
Hi Lili,
wozu, wenn doch das vorhandene funktioniert?
Denke das es nur noch eine Kleinigkeit ist die bei dir angepasst werden muss damit es funktioniert.
So sieht mein Ergebnis aus.
Userbild

AW: Kann man machen
10.12.2015 17:10:28
Liliane
Hi Christoph,
sieht wirklich super aus!
Warum funktioniert es denn bei mir nicht ? Ich kriege noch graue Haare schniefff.
Heul. grrrrr
Ciao
lili

AW: Kann man machen
10.12.2015 17:18:58
Christoph
Hi Lili,
habe es ja schon geschrieben wo eventuell der Fehler liegt.
Es scheint mir, als hättest du für die csv Datei den falschen Pfad angegeben.
Es werden ja wie es aussieht keine Daten in Überweisungsdaten.xlsx kopiert.
das ist der jetzige Pfad falls von dir nicht geändert.
strPath = "O:\Bankauszüge\"
ist das so richtig?
im Eingangspost hast du "O:\Bakauszüge\" geschrieben.
Denke, dass das ja ein Schreibfehler war.
Gruß
Christoph

AW: Kann man machen
10.12.2015 17:19:14
Christoph
Hi Lili,
habe es ja schon geschrieben wo eventuell der Fehler liegt.
Es scheint mir, als hättest du für die csv Datei den falschen Pfad angegeben.
Es werden ja wie es aussieht keine Daten in Überweisungsdaten.xlsx kopiert.
das ist der jetzige Pfad falls von dir nicht geändert.
strPath = "O:\Bankauszüge\"
ist das so richtig?
im Eingangspost hast du "O:\Bakauszüge\" geschrieben.
Denke, dass das ja ein Schreibfehler war.
Gruß
Christoph

AW: Kann man machen
10.12.2015 17:41:02
Liliane
Hi Christoph,
ich habe es auch bemerkt das mit Eingangspost "O:\Bakauszüge\ falsch war.
ich habe es in Deinem Code geändert und den richtigen Pfad mit O:\Kontoauszüge
angegeben. Auch das Makro so wie die Datei Überweisungsdaten.xlxs in den richtige Pfad
Leider zum haare raufen
Kannst Du mir bitte mal die CSV Datei die ich hochgeladen habe zurück senden ? ich habe irgend wie den verdacht, dass wir mit unterschiedliche CSV arbeiten.
Danke
Gruß
Lili

AW: Kann man machen
10.12.2015 17:48:33
Christoph
Hallo Lili,
das deine CSV anders aufgebaut ist wie die, die du hier gepostet hast, habe ich ja schon öfters gesagt.
hier ist deine Datei die du uns gegeben hast.
https://www.herber.de/bbs/user/102122.zip
Du hast geschrieben das du den Pfad geändert hast in O:\Kontoauszüge
richtig muss es so aussehen. Wichtig ist der"\" strPath = "O:\Bankauszüge\"

AW: Kann man machen
10.12.2015 17:48:58
Christoph
Hallo Lili,
das deine CSV anders aufgebaut ist wie die, die du hier gepostet hast, habe ich ja schon öfters gesagt.
hier ist deine Datei die du uns gegeben hast.
https://www.herber.de/bbs/user/102122.zip
Du hast geschrieben das du den Pfad geändert hast in O:\Kontoauszüge
richtig muss es so aussehen. Wichtig ist der"\" strPath = "O:\Kontoauszüge\"

AW: Kann man machen
10.12.2015 18:23:05
Liliane
Hülfe mein Post ist weg grummel

AW: Kann man machen
10.12.2015 18:14:51
Liliane
Hallo Michael, Hallo Christoph
bitte entschuldigt meine Törichtheit. Ich habe tatsächlich euch nicht die richtige CSV gesendet.
Ich muss mich beim auswählen des Testdateis vergriffen haben.
Bitte um Verzeihung das ich euch soviel Kopfschmerzen bereitet habe.
Hier die richtige Datei so wie es von der Bank kommt. Ich habe lediglich nur die Beträge geändert.
https://www.herber.de/bbs/user/102169.zip
Danke und Gruß
Lili

AW: Kann man machen
10.12.2015 18:35:33
Christoph
Hallo Lili,
Hier ist dein Post.
Außerdem die angepasste Variante.
Du musst jetzt nur noch den Dateinamen in Buchungsmaske.xlsm ändern und dann sollte alles klappen.
Pfade habe ich schon alle angepasst.
https://www.herber.de/bbs/user/102170.xlsm
Gruß Christoph

AW: Kann man machen
10.12.2015 19:52:42
liliane
Hallo Christoph,
danke für Dein schier unermüdlichen Einsatz.
Ich habe die neue Date runtergeladen
in Verzeichnis: O\Kontoauszüge hinein kopiert, zur Buchungsmaske umbenannt. Ich habe eine neue leere Überweisungsdaten.xlsx angelegt und ins gleiche Verzeichnis abgelegt. Makros aktiviert. testlauf gestartet. Es kommt die Meldung: 'O:\Kontoauszüge\Überweisungsdten.xlsx wurde nicht gefunden!!
Diese Datei ist definitiv dort.
Trotzdem Danke für Deine Hilfe. ich glaube ich gebe es auf.
Gruß
Lili

AW: Kann man machen
10.12.2015 19:58:46
Christoph
Hallo lili
Bitte kopiere den Teil noch einmal mit den Dateipfad im Makro.
Du schreibst Überweisungsdten. Dort ist eventuell ein Schreibfehler im Makro.
Gruß
Christoph

AW: Kann man machen
11.12.2015 09:48:50
Liliane
Hallo und Gumo Christoph,
alles ausprobiert. Leider ohne Erfolg. Ich bin mit meinem Latein am Ende.
Vielleicht ist der Ansatz falsch. Warum muss eine Hilfsdatei im Verzeichnis angeleget werden ?
Warum müssen die Pfade im Makro jedesmal angepasst werden ?
Ein Vorschlag von mir. Wenn ich die Buchungsmaske aufrufe, sollte er direkt dahinter als Blatt 2 ein neues Blatt anlegen, danach ruft die Prozedur die CSV-Datei auf bitte Pfad und Dateinamen eingeben
und liest sie ins Blatt 2 ein.
Bis hierhin funktioniert es bei mir. Mir fehlt nur noch die Import Routine. Mit Sverweis so wie Du es gemacht hast sieht es sehr kompliziert und beängstigend aus für einen Leien wie mich :)
Gruß
Lili

AW: Kann man machen
11.12.2015 10:05:45
Liliane
Christoph nochmal als gedankenstütze.
Ich habe diverse Makros mit dem Makrorekorder zum Hauptblatt sprich meine Buchungsmaske der Feste Spalten und zeilen hat aufgezeichnet.
Makros:
1 SortName
2 Sort GrgNR
3 Blatt2Anlegen_fuer_CSV_Import_Import_Formatiere_Spalten_und_Felder (Überflüssige Spalten werden gelöscht, Spalte Haben der CSV wird als "Buchhaltung" formatiert.
4 Start Zahlungsabgleich
Bin hingegangen und habe die einzelnen Makros in ein Makro zusammengeschaltet. Alle 3 Makros arbeiten wunderbar. Ohne Bildschirmflackern und hinund her schalten.
Mir fehlt eben nur noch die Routine/Makro für Vergleich der IBAN Nummern auf beiden Blättern, wenn beide Nummern vorhanden, dann soll er aus Blatt2 Spalte A das Datum und aus Spalte G den Betrag auslesen und ins Blatt1 zu dem zugehörigen IBAN in Spalte M und N hinein kopieren.
Gruß
Lili

AW: Kann man machen
11.12.2015 15:16:01
Christoph
Hallo Lili,
mir ist soweit klar, was das Makro machen soll. Genau dies macht es auch bei mir.
Bei dir ist ja im Moment nur das Problem das der Pfad der Datei nicht stimmt.
1 Möglichkeit wäre noch, dass ganze jetzt zum Ende zu bringen, wenn du mir folgende Sachen gibst.
1.Klicke bei Datei Überweisungsdaten mit rechten Mausklick drauf, dann Eigenschaften und Kopiere den Dateipfad+ Namen.
2. Das gleich für die Datei Buchungsmaske.
3. Das gleiche für die CSV-Kontoumsätze Datei.
4.Dann Kopiere bitte die ersten 20 Zeilen aus den Makro( sind die wo die Pfade angegeben werden).
Denke wenn du diese Sachen machst bekommen wir das Makro zum laufen.
Wichtig ist, dass du alle Sachen kopierst, damit sich nicht eventuelle Schreibfehler "einschleichen".
Gruß
Christoph

Pfade
11.12.2015 17:47:39
Liliane
Hallo Christoph,
hier die angeforderten Verzeichnisse mit copy paste eingefügt.
1: O:\00002 Immobilien\Immobilie Heer Str\Mieter-Garagen\Christoph *Überweisungsdaten.xlsx
2: O:\00002 Immobilien\Immobilie Heer Str\Mieter-Garagen\Christoph *Buchungsmaske.xlsm
3: O:\Kontoauszuege wobei ich nicht verstehe welchen Auszug dein makro auswaehlen soll weil mehrere davon existieren
Hier der Code:
Sub alle_Dateien_Verzeichnis() '
strPath = "O:\Kontoauszuege\" 'Pfad des Verzeichnisses ggf. anpassen
strExt = "*.csv"       'Dateiextension ggf. anpassen
Dim strFile As String
Dim Adresse As String
Dim Adresse2 As String
Workbooks.Open Filename:="O:\00002 Immobilien\Immobilie Heer Str\Mieter-Garagen\Christoph\Ü _
berweisungsdaten.xlsx" 'Pfad des Verzeichnisses ggf. anpassen
If strPath = "" Then
Exit Sub
Else
strFile = Dir(strPath & strExt)
Do While Len(strFile) > 0
Workbooks.Open Filename:=strPath & strFile, local:=True
Range("F3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("Überweisungsdaten.xlsx").Activate
Range("A1000000").Activate
Selection.End(xlUp).Select
ActiveCell.Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False '
Gruß
Lili

AW: Kann man machen
11.12.2015 19:09:22
Christoph
Hallo Lili,
ich habe meine Version nochmal Komplett überarbeitet.
Ich denke jetzt ist es so wie du es haben wolltest.
Datei einfach in Buchungsmaske umbennnen und es sollte alles wie gewünscht klappen.
https://www.herber.de/bbs/user/102190.xlsm
Gruß Christoph

AW: Kann man machen
14.12.2015 09:04:32
Liliane
Hallo und guten morgen Christoph,
vielen Dank für Deine ausgiebige und selbstlose Hilfe. Hierzu würde der Chef Dir gerne etwas zugute kommen lassen. Bitte unter info@bektas.de Kontakt aufnehmen. Er möchte auch einpaar Verbesserungswürdige Punkte in Deinem Code so wie eventuell ein weiteres Projekt mit Dir besprechen.
Schöne Grüße
Lili

Wie im richtigen Leben
10.12.2015 20:29:05
Michael
Hi zusammen,
na, das ist doch gleich was anderes!
Aber leider eher unerfreulich: jetzt verstehe ich auch, warum Du die IBAN als Kriterium verwenden möchtest; aus den reinen Buchungstexten läßt sich ja eher nichts ableiten, was man "programmieren" kann: einer schreibt Garage, einer Garagenmiete, einer Gerage, einer Garasche...
Mein Vorschlag wäre wirklich "halbautomatisch": Du machst Dir einmal ne Liste, in der Du die Sachen "kontierst", und dann hängst Du einfach nur die CSVs untereinander und kontierst sie händisch anhand der Liste.
Mit nachfolgendem Sortieren und Teilergebnissen weißt Du dann, was auf dem Konto los ist - incl. der Ausgaben für die Nebenkostenabrechnung.
Ich habe heute keine Zeit mehr, aber vielleicht schaffe ich es morgen, Dir ne Datei zu basteln, mit der Du nachvollziehen kannst, was ich meine.
Schöne Grüße,
Michael

AW: Wie im richtigen Leben
11.12.2015 13:34:14
Liliane
Hallo Michael,
der Chef hat dir die CSV gesendet habe ich mitgeteilt bekommen. Jep, nun weißt Du warum ich unbedingt nur die IBAN als Suchkriterium verwenden wollte bzw. muß.
Tschü
Lili

Eventuell per mail
10.12.2015 17:40:08
Michael
Hi zusammen,
Christoph und ich vermuten ja das Gleiche, nämlich irgendein Problem in der Dateistruktur.
Ich könnte Dir anbieten, daß Du mir die Original-Dateien (wie gehabt gezipt) per email sendest, dann schaue ich mal drüber.
Die email-Adresse findest Du im Profil: https://www.herber.de/cgi-bin/profile/call_profile.pl?user=1857094
Schöne Grüße,
Michael

mal wieder links anfangen...
11.12.2015 19:18:19
Michael
Hi zusammen,
mittlerweile hat mir Dein Chef die "gleiche" Datei gemailt. Allerdings ist sie eben *nicht* identisch.
Beide haben die Endung .csv, wobei die hier hochgeladene irgendwie schon "vorbehandelt" ist, d.h. sie enthält die Daten bereits auf 2 oder 3 Spalten verteilt, während die gemailte Variante nur *eine* Spalte enthält.
Ich habe letztere (da sie eben eine reine "TEXT"-Datei ist) verwendet und für das Öffnen und Einlesen Excels Funktion unter Daten/Einlesen/Text verwendet. Eingelesen werden die Daten in das (neue) Tabellenblatt "Temp". Aufruf mit Button "Neu einlesen".
Wenn die Daten denn vorhanden sind, werden sie per Button "Start Zahlungsabgleich" verarbeitet.
Mit den Testdaten gibt es natürlich reihenweise "Fehler", also Datensätze, die nicht zugeordnet werden konnten, sei es, weil zu der IBAN bereits eine Zahlung vorhanden war, sei es, daß die IBAN nicht existiert.
Ich gebe zu, daß das Programm in gewisser Weise "falsch herum" arbeitet: es sucht nicht Garagen-IBANs in der CSV, sondern es durchläuft die CSV und sucht nach Gar.-IBANs.
Das führt natürlich zu relativ vielen Fehlern. Im Hinblick auf die NK-Abrechnung würde ich das Makro aber nicht ändern wollen: vielmehr wäre es ganz sinnvoll, weitere IBANs von anderen "Geschäftspartnern" zu erfassen und im Garagenblatt unten anzuhängen, dann können annähernd alle Kostenarten (Zins, Stadtwerke usw.) gleich mit erfaßt werden.
So! Ich habe das im vorhergehenden Absatz Skizzierte mal unten ab Zeile 46 eingebaut.
Außerdem habe ich eine Funktion eingebaut, die bei wiederholtem Fund von IBANs eine neue Zeile einfügt, in die die nächste Zahlung geschrieben wird.
Jetzt reicht es denn auch; ich habe jetzt rund fünf Stunden investiert; alles weitere kostet.
Die Datei: https://www.herber.de/bbs/user/102191.xlsm
Sei so gut und teste erst Mal den Button "Start Zahlungsabgleich", BEVOR Du neue Daten importierst.
Schöne Grüße,
Michael

AW: mal wieder links anfangen...
14.12.2015 09:31:20
Liliane
Hallo Michael,
vielen herzlichen Dank für Deine Beteiligung und Hilfestellung. Der zuletzt zur Verfügung gestellter Code war leider auch nicht das, wonach wir gesucht haben. Mein Vorgestzter hat sich für die Lösung von Christoph entschieden, auch wenn Deine hinweise bzgl. Aufbau der Masken und Ablauf des Imports zur professionellerem Program hinwiesen und die vorgeschlagenen ansetze so interessant waren, dass wir Überlegungen anstellten hier näher drauf einzugehen. Leider war Dein letzter Satz mit "Kostet nun etwas" so unglücklich, dass hier die Überlegung dann zum kippen kam. Unser Chef ist immer bereit eine erfolgreiche Hilfestellung entsprechend und ohne drauf hingewiesen zu werden ausreichend zu honorieren.
Trotzdem danke nochmals.
Schöne Grüße
Lili

gerne, vielen Dank für die Rückmeldung
14.12.2015 15:44:02
Michael
Hallo Liliane,
es gibt halt solche und solche Chefs...
Aber alles gut: Hauptsache, Ihr kommt voran.
Schöne Grüße,
Michael

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige