
Excel có thể biến thành nền tảng mini app khi được cấu trúc với định dạng rõ ràng, lớp logic ẩn, nút bấm, form và tính năng tương tác động. Bằng cách kết hợp nút bấm, form control và logic ẩn, bạn có thể xây dựng công cụ tương tác cho nhập liệu, dashboard hoặc theo dõi quy trình.
Trong hướng dẫn này, chúng tôi sẽ chỉ cách biến Excel thành app cơ bản dùng nút bấm, form và logic ẩn.
Bước 1: Lên Kế Hoạch Tính Năng App
Để biến Excel thành app, bạn cần lên kế hoạch những gì bạn muốn và app sẽ làm gì. Giả sử chúng ta sẽ tạo app nhận đơn hàng dùng form và lưu dữ liệu đơn hàng.
Để làm vậy, tạo các sheet sau:
- Home: Trang đích sạch với nút lớn ("Add Order", "OrderData" "Dashboard").
- Form: Ô nhập đối diện người dùng (dropdown, ngày, số) với nút Submit Order.
- OrderData: Một Excel Table đơn lẻ lưu tất cả bản ghi (coi như database).
- Logic: Sheet ẩn cho bảng phụ trợ, named range, quy tắc validation và bộ đếm ID.
- Dashboard: Nếu muốn, tạo dashboard từ dữ liệu bán hàng với KPI card nhỏ và biểu đồ cấp dữ liệu từ sheet Logic.
Bước 2: Tạo Sheet Form Đơn Hàng
- Tạo sheet mới tên Order Form.
- Ở cột A, liệt kê các nhãn nhập sau:
- Order ID
- Date
- Category
- Product
- Units
- Unit Price
- Total Amount

- Ở cột B, để ô trống cho nhập liệu:
- Định dạng form đẹp:
- Điều chỉnh độ rộng cột.
- Thêm viền ô.
Bước 3: Thêm Form Control
Để làm form động và tương tác, bạn có thể dùng Drop-down List. Trong sheet logic, liệt kê tất cả thông tin như Category, Product, Price, v.v. Sau đó tạo named range để dùng trong form control.
Tạo Named Range:
- Liệt kê danh mục với tên sản phẩm.
- Vào tab Formulas >> chọn Name Manager >> chọn New.
Category:
- Trong Name: Category.
- Trong Refers to:

Products:
- Chọn danh mục và sản phẩm.
- Vào tab Formulas >> chọn Create from Selection.
- Chọn Top row.
- Click OK.

Unit_Price:
- Chọn tên sản phẩm và giá.
- Vào tab Formulas >> chọn Create from Selection.
- Chọn Left column.
- Click OK.

Tạo Drop-Down List:
Category:
- Chọn ô B4.
- Vào tab Data >> chọn Data Validation.
- Dưới Allow >> chọn List.
- Trong Source: Chèn named range.
- Click OK.

Product:
- Chọn ô B5 và tạo dropdown phụ thuộc.
- Vào tab Data >> chọn Data Validation.
- Dưới Allow >> chọn List.
- Trong Source: Chèn công thức sau.
- Click OK.

- Bạn có thể chọn sản phẩm dựa trên danh mục.
Units:
- Chọn ô B6.
- Vào tab Data >> chọn Data Validation.
- Dưới Allow >> chọn List.
- Trong Source: Chèn danh sách lên tới 10.
- Click OK.

Unit Price:
- Chọn ô B7.
- Vào tab Data >> chọn Data Validation.
- Dưới Allow >> chọn List.
- Trong Source: Chèn công thức sau.
- Click OK.
=INDIRECT(SUBSTITUTE(B5, " ", "_"))

- Đây là dropdown phụ thuộc.
- Bạn có thể chọn giá dựa trên sản phẩm.
Thêm Nút Submit:
- Vào tab Developer >> chọn Insert >> chọn Button từ Form Controls.
- Vẽ nút dưới form.
- Đặt tên "Submit Order".

- Để nó trống cho đến nay, chúng ta sẽ gán macro ở Bước 5.
Bước 4. Tạo Sheet Cơ Sở Dữ Liệu Đơn Hàng Và Dashboard
- Thêm sheet mới tên OrderData.
- Hàng 1, thêm tiêu đề sau:
- Order_ID
- Date
- Category
- Product
- Unit_Price
- Units
- Total_Amount

- Chúng ta sẽ ẩn sheet này sau để giữ backend bí mật.
Bước 5: Thêm Logic VBA
Bây giờ, chúng ta sẽ dùng code VBA để submit dữ liệu form vào sheet orderdata. Code VBA này sẽ sao chép dữ liệu form vào database và xóa form cho lần nhập tiếp theo.
- Click chuột phải nút SubmitOrder >> Assign Macro >> click New.

- Chèn code sau.
Sub SubmitOrder()
Dim wsForm As Worksheet, wsDB As Worksheet
Dim nextRow As Long
Dim lastOrderID As String
Dim newOrderNum As Long
Set wsForm = ThisWorkbook.Sheets("Order Form")
Set wsDB = ThisWorkbook.Sheets("OrderData")
' Tìm hàng trống tiếp theo trong database
nextRow = wsDB.Cells(wsDB.Rows.Count, "A").End(xlUp).Row + 1
' Lấy Order ID cuối (bỏ header)
If nextRow = 2 Then
' Chưa có đơn hàng ? bắt đầu từ 1001
newOrderNum = 1001
Else
lastOrderID = wsDB.Cells(nextRow - 1, 1).Value ' ví dụ: ORD-1005
newOrderNum = CLng(Replace(lastOrderID, "ORD-", "")) + 1
End If
' Lưu đơn hàng hiện tại vào database
wsDB.Cells(nextRow, 1).Value = "ORD-" & newOrderNum
wsDB.Cells(nextRow, 2).Value = wsForm.Range("B3").Value ' Date
wsDB.Cells(nextRow, 3).Value = wsForm.Range("B4").Value ' Category
wsDB.Cells(nextRow, 4).Value = wsForm.Range("B5").Value ' Product
wsDB.Cells(nextRow, 5).Value = wsForm.Range("B6").Value ' Units
wsDB.Cells(nextRow, 6).Value = wsForm.Range("B7").Value ' Unit Price
wsDB.Cells(nextRow, 7).Value = wsForm.Range("B8").Value ' Revenue
' === Xóa an toàn: chỉ giá trị ===
Application.EnableEvents = False
wsForm.Range("B3").Value = vbNullString
wsForm.Range("B4").Value = vbNullString ' Category (giữ DV)
wsForm.Range("B5").Value = vbNullString ' Product (giữ DV)
wsForm.Range("B6").Value = vbNullString ' Units (giữ DV)
wsForm.Range("B7").Value = vbNullString ' Unit Price (giữ DV)
wsForm.Range("B8").Formula = "=B6*B7" ' Khôi phục công thức Revenue
Application.EnableEvents = True
' Tạo Order ID tiếp theo cho lần nhập sau
wsForm.Range("B2").Value = "ORD-" & (newOrderNum + 1)
MsgBox "Order submitted successfully!", vbInformation
End Sub

Giải thích:
- Order ID tự động tăng sau mỗi lần submit.
- Lần submit đầu tiên bắt đầu ORD-1001 nếu database trống.
- Sau mỗi click:
- Macro kiểm tra số đơn hàng lưu cuối.
- Tăng 1.
- Điền B2 trên form với ID tiếp theo.
- Chỉ xóa giá trị, không xóa công thức hay data validation, nên lần nhập sau bắt đầu mới.
Bước 6: Tạo Sheet Dashboard
Bây giờ bạn có thể tạo dashboard dựa trên dữ liệu đơn hàng.
- Tạo KPIs: Tính Tổng Đơn, Doanh Thu, Số Lượng Bán, Giá Trị Đơn Trung Bình, v.v.
- Chèn Biểu Đồ: Tạo biểu đồ động hoặc chèn PivotChart.

Bước 7: Định Dạng Sheet Cho Giao Diện App
Tạo Trang Chủ (Homepage):
- Vào tab Insert >> chọn Illustrations >> chọn Shapes.
- Chọn Button.
- Kéo nút vào ô.

- Click chuột phải shape >> chọn Link.

- Chọn Place in This Document >> chọn ô sheet (nút điều hướng, không code).
- Chọn Order Form.
- Click OK.

- Làm tương tự, chèn hyperlink cho Dashboard và sheet OrderData.
- Sau đó khóa orderdata cho mục đích bảo mật.

Ẩn Logic:
Để Excel hoạt động giống app hơn:
- Chọn sheet.
- Click chuột phải >> chọn Hide.

- Bảo vệ sheet Order Form để chỉ ô nhập liệu được thay đổi.
- Vào tab View:
- Bỏ chọn Formula Bar.
- Bỏ chọn Gridline.
Bước 8: Test App Đơn Hàng
- Nhập đơn hàng ví dụ:
- Order ID: Sẽ tự động nhập Order ID.
- Date: Chèn ngày 3/1/2025
- Category: Chọn danh mục từ dropdown.
- Product: Chọn Mouse từ dropdown phụ thuộc.
- Units: Chọn số lượng từ danh sách.
- Unit Price: Chọn giá từ dropdown phụ thuộc.
- Revenue: Tự động tính.
- Click Submit Order.

- Order ID tiếp theo sẽ xuất hiện tự động.
- Form sẽ được xóa cho đơn hàng tiếp theo.
- Hộp thông báo sẽ hiện nếu submit form thành công.
- Click OK.

- Kiểm tra sheet OrderData; bản ghi sẽ xuất hiện tự động.

Kết Luận
Bạn có thể làm theo các bước trên để biến sheet Excel thành App. Bạn có thể dùng nút bấm, form và logic ẩn để tạo App động. Công cụ kiểu app này là cách mạnh mẽ để đơn giản hóa nhập liệu và giảm lỗi người dùng, mà không đầu tư phần mềm chuyên dụng. Bằng cách kết hợp form front-end sạch, dropdown data validation, sheet database ẩn và tự động hóa VBA, chúng ta đã tạo hệ thống quản lý đơn hàng hoàn toàn chức năng. Bạn có thể mở rộng thiết lập này với dashboard, báo cáo tóm tắt, hoặc thậm chí tích hợp Power Query cho phân tích nâng cao hơn.
Nhận MIỄN PHÍ Bài Tập Excel Nâng Cao Có Giải Pháp!