За разлика от други, не отделяйте твърде много време и усилия за проследяване на разходите си. Следвайте тази статия и изградете свой собствен тракер за приходи и разходи. Този инструмент приема вашите банкови извлечения във формат Excel и след това го чете, за да ви уведоми къде сте похарчили повече.
Нека подготвим GUI
Инструментът се нуждае от 3 листа. Преименувайте лист1 като „Контролен панел“, лист2 като „Обобщение“ и лист3 като „База данни“. На листа „Контролен панел“ създайте поле, което да позволи на потребителя да разглежда и качва исторически банкови извлечения. За да зададете маркери за всяка транзакция във вашето банково извлечение, трябва да зададете ключови думи за всеки раздел. Както е показано на изображението, отделете няколко ключови думи със запетая.
Нека го направим функционален

Как работи?
Добавете пълния път на вашето банково извлечение и го импортирайте. Всички данни от вашето банково извлечение ще бъдат заредени на листа „База данни“. Скриптът идентифицира списъка с маркери, които сте споменали на листа „Контролен панел“. За всеки изброен маркер съответните ключови думи се четат в променлива и се разделят с помощта на командата SPLIT на VBA. За всяка ключова дума, разделена със запетая, скриптът сканира цялата база данни и идентифицира съответната стойност за всяка ключова дума. След това крайната и обща стойност се актуализират на листа „Резюме“, който попълва стълбовата графика.
скрипт:
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
Модифицирайте го
Сега инструментът импортира еднократно банково извлечение в базата данни. Можете да модифицирате инструмента, за да позволите на потребителя да разглежда и избира папка, да сканира за всички налични банкови извлечения и да импортира всички файлове в базата данни. Листът „Резюме“ може също да бъде модифициран, за да показва маркери и стойности за всеки месец или седмица. Вместо да чете цялата база данни, макросът може да бъде модифициран, за да чете стойности между конкретни дати.
Бърза поправка
Ако листът „Резюме“ е повреден, можете да опитате да го направите поправете Excel като изтриете повредения лист и след това го пресъздадете в същата работна книга.
Въведение на автора:
Ник Випонд е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително корумпирана дума и перспектива за възстановяване на софтуерни продукти. За повече информация посетете WWW.datanumen.com