Không giống như những người khác, đừng dành quá nhiều thời gian và công sức để theo dõi chi tiêu của bạn. Theo dõi bài viết này và xây dựng công cụ theo dõi thu nhập và chi phí của riêng bạn. Công cụ này chấp nhận bảng sao kê ngân hàng của bạn ở định dạng Excel và sau đó đọc nó để cho bạn biết bạn đã chi tiêu nhiều hơn vào đâu.
Hãy chuẩn bị GUI
Công cụ cần 3 tờ. Đổi tên sheet1 thành “Control Panel”, sheet2 thành “Summary” và sheet3 thành “Database”. Trên trang tính “Bảng điều khiển”, hãy tạo một trường để cho phép người dùng duyệt và tải lên bảng sao kê ngân hàng lịch sử. Để đặt thẻ cho từng giao dịch trong bảng sao kê ngân hàng, bạn cần đặt từ khóa cho từng tab. Như trong hình, hãy phân tách nhiều từ khóa bằng dấu phẩy.
Hãy làm cho nó hoạt động

Cách sử dụng?
Thêm đường dẫn đầy đủ của bảng sao kê ngân hàng của bạn và nhập nó. Tất cả dữ liệu từ bảng sao kê ngân hàng của bạn sẽ được tải trên trang tính “Cơ sở dữ liệu”. Tập lệnh xác định danh sách các thẻ mà bạn đã đề cập trên trang tính “Bảng điều khiển”. Đối với mỗi Thẻ được liệt kê, các từ khóa tương ứng được đọc thành một biến và chúng được phân chia bằng cách sử dụng lệnh SPLIT của VBA. Đối với mỗi từ khóa được phân tách bằng dấu phẩy, tập lệnh sẽ quét toàn bộ cơ sở dữ liệu và xác định giá trị tương ứng cho từng từ khóa. Sau đó, giá trị cuối cùng và tổng giá trị được cập nhật trên trang tính “Tóm tắt” sẽ điền vào Biểu đồ thanh.
Kịch bản:
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
Sửa đổi nó
Công cụ hiện nhập một bảng sao kê ngân hàng vào cơ sở dữ liệu. Bạn có thể sửa đổi công cụ để cho phép người dùng duyệt và chọn một thư mục, quét tất cả các báo cáo ngân hàng có sẵn và nhập tất cả các tệp vào cơ sở dữ liệu. Trang tính “Tóm tắt” cũng có thể được sửa đổi để hiển thị các thẻ và giá trị cho từng tháng hoặc tuần. Thay vì đọc toàn bộ cơ sở dữ liệu, macro có thể được sửa đổi để đọc các giá trị giữa các ngày cụ thể.
Sửa nhanh
Nếu trang tính “Tóm tắt” bị hỏng, bạn có thể thử sửa excel bằng cách xóa trang tính bị hỏng rồi tạo lại trang tính đó trong cùng một sổ làm việc.
Giới thiệu tác giả:
Nick Vipond là một chuyên gia phục hồi dữ liệu trong DataNumen, Inc., công ty hàng đầu thế giới về công nghệ khôi phục dữ liệu, bao gồm từ hư hỏng và các sản phẩm phần mềm khôi phục triển vọng. Để biết thêm thông tin, hãy truy cập www.datanumennăm