Điền vào biểu mẫu với dữ liệu từ bảng

Công thức của vấn đề

Chúng tôi có một cơ sở dữ liệu (danh sách, bảng - hãy gọi nó là những gì bạn muốn) với thông tin về các khoản thanh toán trên một trang tính Ngày:

Nhiệm vụ: in nhanh biên lai thu tiền mặt (thanh toán, hóa đơn…) cho bất kỳ mục nhập mong muốn nào được chọn từ danh sách này. Đi!

Bước 1. Tạo biểu mẫu

Trên một trang khác của cuốn sách (chúng ta hãy gọi trang này là Mẫu) tạo một biểu mẫu trống. Bạn có thể tự làm, có thể sử dụng các biểu mẫu làm sẵn, lấy ví dụ từ trang web của tạp chí Kế toán trưởng hoặc trang web của Microsoft. Tôi có một cái gì đó như thế này:

Điền vào biểu mẫu với dữ liệu từ bảng

Trong các ô trống (Tài khoản, Số tiền, Đã nhận từ v.v.) sẽ lấy dữ liệu từ bảng thanh toán từ một trang tính khác - một lát nữa chúng ta sẽ giải quyết vấn đề này.

Bước 2: Lập bảng thanh toán

Trước khi lấy dữ liệu từ bảng cho biểu mẫu của chúng tôi, bảng cần được hiện đại hóa một chút. Cụ thể là chèn một cột trống vào bên trái của bảng. Chúng tôi sẽ sử dụng để nhập một nhãn (giả sử là ký tự tiếng Anh “x”) đối diện với dòng mà chúng tôi muốn thêm dữ liệu vào biểu mẫu:

Bước 3. Liên kết bảng và biểu mẫu

Để giao tiếp, chúng tôi sử dụng hàm VPR(Vlookup) - Bạn có thể đọc thêm về nó ở đây. Trong trường hợp của chúng tôi, để chèn số thanh toán được đánh dấu “x” từ Bảng dữ liệu vào ô F9 trên biểu mẫu, bạn phải nhập công thức sau vào ô F9:

= VLOOKUP (“x”, Dữ liệu! A2: G16)

= VLOOKUP (“x”; Dữ liệu! B2: G16; 2; 0)

Những thứ kia. được dịch thành “có thể hiểu được”, hàm sẽ tìm trong phạm vi A2: G16 trên Bảng dữ liệu một dòng bắt đầu bằng ký tự “x” và cung cấp cho chúng tôi nội dung của cột thứ hai của dòng này, tức là số thanh toán.

Tất cả các ô khác trên biểu mẫu được điền theo cùng một cách - chỉ thay đổi số cột trong công thức.

Để hiển thị số tiền bằng chữ, tôi đã sử dụng hàm Riêng từ tiện ích bổ sung PLEX.

Kết quả sẽ như sau:

Điền vào biểu mẫu với dữ liệu từ bảng

Bước 4. Sao cho không có hai chữ “x”…

Nếu người dùng nhập “x” vào nhiều dòng, hàm VLOOKUP sẽ chỉ lấy giá trị đầu tiên mà nó tìm thấy. Để tránh sự mơ hồ như vậy, hãy nhấp chuột phải vào tab trang tính Ngày và sau đó Văn bản nguồn (Mã nguồn). Trong cửa sổ trình soạn thảo Visual Basic xuất hiện, hãy sao chép mã sau:

Private Sub Worksheet_Change (ByVal Target As Range) Dim r As Long Dim str As String If Target.Count> 1 Then Exit Sub If Target.Column = 1 Then str = Target.Value Application.EnableEvents = False r = Cells (Rows.Count , 2) .End (xlUp) .Row Range ("A2: A" & r) .ClearContents Target.Value = str End If Application.EnableEvents = True End Sub  

Macro này ngăn người dùng nhập nhiều hơn một "x" trong cột đầu tiên.

Vâng đó là tất cả! Vui thích!

  • Sử dụng hàm Vlookup để thay thế các giá trị
  • Một phiên bản cải tiến của hàm VLOOKUP
  • Số tiền bằng từ (hàm Propis) từ tiện ích bổ sung PLEX

 

Bình luận