Excelで銀行取引明細書をインポートして分析する方法

今すぐ共有:

他の人とは異なり、あなたの費用を追跡するのにあまり多くの時間と労力を費やさないでください。 この記事に従って、独自の収入と支出のトラッカーを作成してください。 このツールは、Excel形式の銀行取引明細書を受け入れ、それを読み取って、どこでより多くを費やしたかを知らせます。

GUIを準備しましょう

ツールには3枚必要です。 sheet1の名前を「コントロールパネル」、sheet2の名前を「Summary」、sheet3の名前を「Database」に変更します。 シート「コントロールパネル」で、ユーザーが過去の銀行取引明細書を参照およびアップロードできるようにするフィールドを作成します。 銀行取引明細書の各トランザクションにタグを設定するには、各タブにキーワードを設定する必要があります。 画像に示されているように、複数のキーワードをコンマで区切ります。GUIを準備する

機能させましょう

スクリプトを新しいモジュールにインポートするスクリプトを新しいモジュールにインポートします。 スクリプト「Import_Bank_Statement」をシート「コントロールパネル」のボタン「Import」に添付し、スクリプト「Update_Tags」をボタン「Refresh」に添付します。

システムを教えてください。

銀行取引明細書のフルパスを追加してインポートします。 銀行取引明細書のすべてのデータは、シート「データベース」に読み込まれます。 スクリプトは、シート「コントロールパネル」で言及したタグのリストを識別します。 リストされたタグごとに、対応するキーワードが変数に読み込まれ、VBAのSPLITコマンドを使用して分割されます。 カンマで区切られたキーワードごとに、スクリプトはデータベース全体をスキャンし、各キーワードに対応する値を識別します。 次に、最終値と合計値が、棒グラフに入力されるシート「概要」で更新されます。

スクリプト:

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を修正 破損したシートを削除してから、同じブックに再作成します。

著者紹介:

Nick Vipondは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 破損したWord と見通し回復ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com

今すぐ共有:

コメントは締め切りました。