Za razliku od drugih, nemojte trošiti previše vremena i truda na praćenje svojih troškova. Slijedite ovaj članak i izgradite vlastiti uređaj za praćenje prihoda i rashoda. Ovaj alat prihvaća vaše bankovne izvode u Excel formatu i zatim ih čita kako biste znali gdje ste potrošili više.
Pripremimo GUI
Alat treba 3 lista. Preimenujte list1 u "Upravljačka ploča", list2 u "Sažetak" i list3 u "Baza podataka". Na listu "Upravljačka ploča" stvorite polje koje će korisniku omogućiti pregledavanje i učitavanje povijesnih bankovnih izvoda. Da biste postavili oznake za svaku transakciju u bankovnom izvodu, trebate postaviti ključne riječi za svaku karticu. Kao što je prikazano na slici, više ključnih riječi odvojite zarezom.
Učinimo ga funkcionalnim

Kako radi?
Dodajte cijeli put bankovnog izvoda i uvezite ga. Svi podaci s vašeg bankovnog izvoda bit će učitani na listu “Baza podataka”. Skripta identificira popis oznaka koje ste spomenuli na listu "Upravljačka ploča". Za svaku navedenu oznaku, odgovarajuće ključne riječi čitaju se u varijablu i dijele se pomoću VBA-ove naredbe SPLIT. Za svaku ključnu riječ odvojenu zarezom, skripta skenira kroz cijelu bazu podataka i identificira odgovarajuću vrijednost za svaku ključnu riječ. Konačna i ukupna vrijednost se zatim ažurira na listu "Sažetak" koji popunjava stupčasti grafikon.
skripta:
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
Izmijenite ga
Alat sada uvozi jedan bankovni izvod u bazu podataka. Alat možete modificirati kako biste korisniku omogućili pregledavanje i odabir mape, skeniranje svih dostupnih bankovnih izvoda i uvoz svih datoteka u bazu podataka. List "Sažetak" također se može modificirati tako da prikazuje oznake i vrijednosti za svaki mjesec ili tjedan. Umjesto čitanja cijele baze podataka, makro se može modificirati za čitanje vrijednosti između određenih datuma.
Brzi popravak
Ako je list "Sažetak" oštećen, možete pokušati popraviti Excel brisanjem oštećenog lista i zatim ga ponovno izradite u istoj radnoj knjizi.
Uvod za autora:
Nick Vipond je stručnjak za oporavak podataka u DataNumen, Inc., koji je svjetski lider u tehnologijama za oporavak podataka, uključujući pokvarena Riječ i softverski proizvodi za oporavak Outlooka. Za više informacija posjetite www.datanumen.com