I modsætning til andre skal du ikke bruge for meget tid og kræfter på at spore dine udgifter. Følg denne artikel og opbyg din egen indtægts- og udgiftssporing. Dette værktøj accepterer dine kontoudtog i et Excel-format og læser det derefter for at fortælle dig, hvor du har brugt mere.
Lad os forberede GUI
Værktøjet har brug for 3 ark. Omdøb ark1 som “Kontrolpanel”, ark2 som “Oversigt” og ark3 som “Database”. På arket "Kontrolpanel" skal du oprette et felt, der giver brugeren mulighed for at gennemse og uploade historisk kontoudtog. For at indstille tags for hver transaktion i dit kontoudtog skal du indstille nøgleord for hver fane. Som vist på billedet skal du adskille flere nøgleord med et komma.
Lad os gøre det funktionelt

Hvordan virker det?
Tilføj den fulde sti til din kontoudtog, og importer den. Alle data fra din kontoudtog læses på arket "Database". Scriptet identificerer listen over tags, som du har nævnt på arket "Kontrolpanel". For hvert anført mærke læses tilsvarende nøgleord i en variabel, og de opdeles ved hjælp af VBAs SPLIT-kommando. For hvert nøgleord adskilt af et komma scanner scriptet gennem hele databasen og identificerer den tilsvarende værdi for hvert nøgleord. Den endelige og samlede værdi opdateres derefter på arket "Resume", der udfylder søjlediagrammet.
script:
Sub Import_Bank_Statement()
With Sheets("Database").QueryTables.Add(Connection:= _
"TEXT;" & Sheets("Control Panel").Range("B3").Value _
, Destination:=Sheets("Database").Range("$A$1"))
.Name = "Bank Statement"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
Sub Update_Tags()
Dim lr As Long
Dim r As Long
Dim v_string() As String
Dim intcount As Long
Dim rindb As Long
Dim lrindb As Long
Dim v_total As Long
lr = Sheets("Control Panel").Range("K" & Rows.Count).End(xlUp).Row
For r = 3 To lr
v_total = 0
v_string = Split(Sheets("Control Panel").Range("L" & r).Value, ",")
For intcount = LBound(v_string) To UBound(v_string)
lrindb = Sheets("Database").Range("A" & Rows.Count).End(xlUp).Row
For rindb = 2 To lrindb
If InStr(UCase(Sheets("Database").Range("B" & rindb).Value), UCase(Trim(v_string(intcount)))) <> 0 Then
v_total = v_total + Sheets("Database").Range("D" & rindb).Value
End If
Next rindb
Next intcount
MsgBox v_total
Sheets("Summary").Range("C" & r + 1).Value = v_total
Next r
End Sub
Rediger det
Værktøjet importerer nu en enkelt kontoudtog i databasen. Du kan ændre værktøjet, så brugeren kan gennemse og vælge en mappe, scanne efter alle tilgængelige kontoudtog og importere alle filer til databasen. Arket "Oversigt" kan også ændres til at vise tags og værdier for hver måned eller uge. I stedet for at læse hele databasen kan makroen ændres til at læse værdier mellem bestemte datoer.
Hurtig løsning
Hvis arket "Resume" er beskadiget, kan du prøve at rette Excel ved at slette det ødelagte ark og derefter genskabe det i den samme projektmappe.
Forfatter Introduktion:
Nick Vipond er en datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder korrupte Word og Outlook Outlook-softwareprodukter. For mere information besøg www.datanumen.com
