Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Datenaufbereitung

Forumthread: Datenaufbereitung

Datenaufbereitung
27.02.2025 11:23:53
Chris
Hallo,
hoffe ihr könnt mir bei meinem Problem behilflich sein.

Ich möchte gerne Kreditkartentransaktionen aufbereiten. Die Rohdaten stammen aus einem PDF Import, welche im Istzustand nur schwer zu filtern sind.

Schön wäre es ein Makro drüber laufen zu lassen, welches die Daten sinnvoll anordnet.

Habe dies in der Beispieldatei einmal gegenüber gestellt in Istzustand (Ausgangsdaten) und Sollzustand.

https://www.herber.de/bbs/user/176023.xlsx


Die Kartenart (Master, Visa usw.) wird immer per Überschrift angegeben. Hier soll bei jeder Transaktion (Zeile) die Art aufgelistet sein. Die Überschriftenzeile soll verschwinden.

unter jeder Transaktion ist noch eine Textzeile mit Händlerentgeld und Intercharge aufgelistet. Hier wäre es schön die beiden Beträge hinter die Transaktionszeile anzufügen.

Please help

Grüße
Chris




Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenaufbereitung
27.02.2025 12:34:26
MCO
Moin!

Abgesehen von den Fehler im Ursprünglichen Datensatz (Zeile 33 + 43) werden die Daten genauso dargestellt, wie du das haben wolltest.

Probiers mal aus:
Sub Daten_Auseinanderziehen()

Dim rng As Range
Dim cl As Range
Dim q_WS As Worksheet
Dim z_WS As Worksheet
Dim x As Long
Dim z As Long

Set q_WS = Sheets("Rohdaten")
Set z_WS = Sheets(Sheets.Count)
z_WS.Cells.Clear

z_WS.Range("K1") = "Händlernetgeld"
z_WS.Range("L1") = "inkl.Interchange"

For Each cl In q_WS.Range("B1:B1000")
If cl = "" Then Exit For
If cl.MergeCells Then 'verbundene Zellen
If InStr(cl, "Händler") > 0 Then
'beschreiben
With z_WS
z = .Cells(Rows.Count, 2).End(xlUp).Row + 1
.Cells(z, 1) = Karte
For x = 2 To 10 'MasterCard 27.12.2023 Cr* 09:02:42 27.12.2023 523256XXXXXX EUR 608,00 260744 KAUF
.Cells(z, x) = q_WS.Cells(cl.Row - 1, x)
Next x
dat_arr = Split(q_WS.Cells(cl.Row, 2), " ") '4,74 1824
.Cells(z, 11) = dat_arr(2) * 1
.Cells(z, 12) = dat_arr(UBound(dat_arr)) * 1
End With
Else
Karte = cl.Value
End If
End If
Next cl
z_WS.Range("A:A").SpecialCells(xlCellTypeConstants).Font.Bold = True
z_WS.Range("K:L").SpecialCells(xlCellTypeConstants).Font.Bold = True
End Sub


Gruß, MCO
Anzeige
AW: Datenaufbereitung
27.02.2025 13:23:51
Chris
Hallo MCO,

vielen lieben Dank für dein Mühe!

Ich bekomme in der Zeile .Cells(z, 11) = dat_arr(2) * 1 einen Laufzeitfehler '13': Typen unverträglich!

Grüße
Chris
AW: Datenaufbereitung
27.02.2025 13:59:08
MCO
Hi!

Tja, da wollte ich die Zahl mal als Zahl formatieren....
Nimm die *1 einfach raus, dann wird alles als Text reingeschrieben.

Und für die Pedanten unter uns:

Ändere
    z_WS.Range("K1") = "Händlernetgeld"


in
    z_WS.Range("K1") = "Händlerentgeld"


Gruß, MCO
Anzeige
AW: Datenaufbereitung
27.02.2025 14:09:29
JoWE
oh sorry, wusste nicht dass Du derart empfindlich reagieren kannst und einfache Hinweise als Kritik empfindest.
AW: Datenaufbereitung
27.02.2025 14:34:02
Chris
Hi MCO,

finde den kleinen Ba­ga­tel­lefehler nicht relevant. :-)

Super was du hier auf die Beine gestellt hast.

durch den Verzicht "* 1" in der besagte Zeile läuft der Code zwar durch aber
die betroffenen Zahlen in Spalte K haben größtenteils den Bezug zum Komma verloren.

4,11786 wird zu 411.786
1,11214 wird zu 111.214

Bei Zahlen unter eins, stimmt der Bezug:
0,97 bleibt 0,97

Grüße
Chris
Anzeige
Warum noch offen?
28.02.2025 01:49:32
Onur
AW: Warum noch offen?
28.02.2025 03:50:23
Chris
durch den Verzicht "* 1" in der besagte Zeile läuft der Code zwar durch aber
die betroffenen Zahlen in Spalte K haben größtenteils den Bezug zum Komma verloren.

4,11786 wird zu 411.786
1,11214 wird zu 111.214

Bei Zahlen unter eins, stimmt der Bezug:
0,97 bleibt 0,97

Grüße
Chris
Anzeige
AW: Datenaufbereitung
27.02.2025 13:32:50
JoWE
Hallo MCO,

es heißt "Händlerentgelt" und nicht "Händlernetgeld"
und hier " .Cells(z, 11) = dat_arr(2) * 1" tritt eine Fehler auf wenn in dat_arr(2) ein Textwert steht (was tatsächlich auch vorkommen kann)

Gruß
Jochen
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18