Jak importować i analizować wyciągi bankowe w programie Excel

Podziel się teraz:

W przeciwieństwie do innych, nie poświęcaj zbyt wiele czasu i wysiłku na śledzenie swoich wydatków. Postępuj zgodnie z tym artykułem i stwórz własny moduł do śledzenia dochodów i wydatków. To narzędzie akceptuje wyciągi bankowe w formacie Excel, a następnie odczytuje je, aby poinformować Cię, gdzie wydałeś więcej.

Przygotujmy GUI

Narzędzie potrzebuje 3 arkuszy. Zmień nazwę arkusza 1 na „Panel sterowania”, arkusza 2 na „Podsumowanie”, a arkusza 3 na „Baza danych”. Na arkuszu „Panel sterowania” utwórz pole umożliwiające użytkownikowi przeglądanie i przesyłanie historycznych wyciągów bankowych. Aby ustawić tagi dla każdej transakcji na wyciągu bankowym, musisz ustawić słowa kluczowe dla każdej karty. Jak pokazano na obrazku, oddziel poszczególne słowa kluczowe przecinkami.Przygotuj GUI

Zróbmy to funkcjonalnie

Zaimportuj skrypt do nowego modułuZaimportuj skrypt do nowego modułu. Dołącz skrypt „Import_Bank_Statement” do przycisku „Importuj” na arkuszu „Panel sterowania” oraz skrypt „Update_Tags” do przycisku „Odśwież”.

Jak to działa?

Dodaj pełną ścieżkę swojego wyciągu bankowego i zaimportuj go. Wszystkie dane z Twojego wyciągu bankowego zostaną załadowane do arkusza „Baza danych”. Skrypt identyfikuje listę tagów, które wymieniłeś w arkuszu „Panel sterowania”. Dla każdego wymienionego znacznika odpowiednie słowa kluczowe są wczytywane do zmiennej i rozdzielane za pomocą polecenia VBA SPLIT. Dla każdego słowa kluczowego oddzielonego przecinkiem skrypt skanuje całą bazę danych i identyfikuje odpowiednią wartość dla każdego słowa kluczowego. Ostateczna i całkowita wartość jest następnie aktualizowana w arkuszu „Podsumowanie”, który wypełnia wykres słupkowy.

Scenariusz:

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

Zmodyfikuj to

Narzędzie importuje teraz pojedynczy wyciąg bankowy do bazy danych. Możesz zmodyfikować narzędzie, aby umożliwić użytkownikowi przeglądanie i wybieranie folderu, wyszukiwanie wszystkich dostępnych wyciągów bankowych oraz importowanie wszystkich plików do bazy danych. Arkusz „Podsumowanie” można również zmodyfikować, aby wyświetlał tagi i wartości dla każdego miesiąca lub tygodnia. Zamiast odczytywać całą bazę danych, makro można zmodyfikować tak, aby odczytywało wartości między określonymi datami.

Szybka naprawa

Jeśli arkusz „Podsumowanie” jest uszkodzony, możesz spróbować naprawić program Excel usuwając uszkodzony arkusz, a następnie odtwarzając go w tym samym skoroszycie.

Wprowadzenie autora:

Nick Vipond jest ekspertem w dziedzinie odzyskiwania danych w DataNumen, Inc., która jest światowym liderem w technologiach odzyskiwania danych, w tym zepsute słowo i oprogramowanie do odzyskiwania programu Outlook. po więcej informacji odwiedź www.datanumen.com

Podziel się teraz:

Możliwość dodawania komentarzy nie jest dostępna.