На відміну від інших, не витрачайте занадто багато часу та зусиль на відстеження своїх витрат. Дотримуйтесь цієї статті та створіть власний трекер доходів і витрат. Цей інструмент приймає ваші банківські виписки у форматі Excel, а потім читає їх, щоб повідомити, де ви витратили більше.
Давайте підготуємо графічний інтерфейс
Інструменту потрібно 3 аркуші. Перейменуйте аркуш1 як “Панель управління”, аркуш2 як “Підсумок”, а аркуш3 як “База даних”. На аркуші «Панель управління» створіть поле, яке дозволить користувачеві переглядати та завантажувати історичні виписки з банку. Щоб встановити теги для кожної транзакції у виписці з банку, потрібно встановити ключові слова для кожної вкладки. Як показано на зображенні, розділіть кілька ключових слів комою.
Зробимо його функціональним

Як це працює?
Додайте повний шлях до свого виписки з банку та імпортуйте його. Усі дані з вашого виписки з банку будуть завантажені на аркуші “База даних”. Сценарій визначає список тегів, які ви згадали на аркуші «Панель управління». Для кожного перерахованого тегу відповідні ключові слова зчитуються у змінну та розділяються за допомогою команди SPLAIT 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