Spre deosebire de alții, nu petrece prea mult timp și eforturi în urmărirea cheltuielilor. Urmărește acest articol și construiește-ți propriul instrument de urmărire a veniturilor și cheltuielilor. Acest instrument acceptă extrasele dvs. bancare într-un format Excel și apoi le citește pentru a vă anunța unde ați cheltuit mai mult.
Să pregătim GUI
Instrumentul are nevoie de 3 foi. Redenumiți foaia1 ca „Panou de control”, foaia2 ca „Rezumat” și foaia3 ca „Bază de date”. Pe foaia „Panou de control”, creați un câmp pentru a permite utilizatorului să răsfoiască și să încarce extrasul de cont istoric. Pentru a seta etichete pentru fiecare tranzacție din extrasul dvs. bancar, trebuie să setați cuvinte cheie pentru fiecare filă. După cum se arată în imagine, separați mai multe cuvinte cheie printr-o virgulă.
Să-l facem funcțional

Cum functioneaza?
Adăugați calea completă a extrasului dvs. bancar și importați-l. Toate datele din extrasul dvs. bancar vor fi încărcate pe foaia „Bază de date”. Scriptul identifică lista de etichete pe care le-ați menționat pe foaia „Panou de control”. Pentru fiecare etichetă listată, cuvintele cheie corespunzătoare sunt citite într-o variabilă și sunt împărțite folosind comanda SPLIT a VBA. Pentru fiecare cuvânt cheie separat prin virgulă, scriptul scanează întreaga bază de date și identifică valoarea corespunzătoare pentru fiecare cuvânt cheie. Valoarea finală și totală sunt apoi actualizate pe foaia „Rezumat” care populează graficul cu bare.
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
Modificați-l
Instrumentul importă acum un singur extras de cont bancar în baza de date. Puteți modifica instrumentul pentru a permite utilizatorului să răsfoiască și să selecteze un folder, să scaneze toate extrasele bancare disponibile și să importe toate fișierele în baza de date. Foaia „Rezumat” poate fi, de asemenea, modificată pentru a afișa etichete și valori pentru fiecare lună sau săptămână. În loc să citească întreaga bază de date, macro-ul poate fi modificat pentru a citi valori între anumite date.
Soluție rapidă
Dacă foaia „Rezumat” este coruptă, puteți încerca repara Excel ștergând foaia coruptă și apoi recreați-o în același registru de lucru.
Introducerea autorului:
Nick Vipond este un expert în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv Cuvânt corupt și produse software de recuperare Outlook. Pentru mai multe informații vizitați www.datanumen.com