Excel có thể trở thành một nền tảng ứng dụng nhỏ khi được cấu trúc với định dạng rõ ràng, lớp logic ẩn, các nút, biểu mẫu và tính năng tương tác động. Bằng cách kết hợp các nút, điều khiển biểu mẫu và logic ẩn, bạn có thể xây dựng các công cụ tương tác để nhập dữ liệu, trang tổng quan hoặc theo dõi quy trình.
Trong hướng dẫn này, chúng tôi sẽ hướng dẫn cách biến Excel thành một ứng dụng cơ bản bằng cách sử dụng các nút, biểu mẫu và logic ẩn.
Bước 1:Lập kế hoạch cho các tính năng của ứng dụng
Để biến Excel thành một ứng dụng, bạn cần lên kế hoạch cho những gì bạn muốn và ứng dụng của bạn sẽ làm gì. Giả sử chúng ta sẽ tạo một ứng dụng nhận đơn đặt hàng bằng biểu mẫu và lưu trữ dữ liệu đơn đặt hàng.
Để làm như vậy, hãy tạo các trang tính sau:
- Trang chủ: Trang đích gọn gàng với các nút lớn (“Thêm đơn hàng”, “Dữ liệu đơn hàng” “Trang tổng quan”).
- Hình thức: Dữ liệu đầu vào hướng tới người dùng (các trường thả xuống, ngày, số) bằng nút Gửi đơn đặt hàng.
- Dữ liệu đơn hàng: Một Bảng Excel duy nhất lưu trữ tất cả các bản ghi (hãy coi nó như cơ sở dữ liệu của bạn).
- Lý luận: Một trang tính ẩn dành cho các bảng trợ giúp, phạm vi được đặt tên, quy tắc xác thực và bộ đếm ID.
- Trang tổng quan: Nếu muốn, bạn có thể tạo trang tổng quan từ dữ liệu bán hàng bằng các thẻ KPI nhỏ và biểu đồ được Bảng Logic cung cấp.
Bước 2:Tạo bảng mẫu đơn đặt hàng
- Tạo trang tính mới có tên Mẫu đơn đặt hàng .
- Trong cột A, liệt kê các nhãn đầu vào sau:
- ID đơn hàng
- Ngày
- Danh mục
- Sản phẩm
- Đơn vị
- Đơn giá
- Tổng số tiền

- Ở cột B, để trống ô để nhập:
- Định dạng biểu mẫu cho đẹp:
- Điều chỉnh độ rộng cột.
- Thêm đường viền ô.
Bước 3:Thêm điều khiển biểu mẫu
Để làm cho biểu mẫu trở nên năng động và có tính tương tác, bạn có thể sử dụng Danh sách thả xuống. Trong bảng logic, hãy liệt kê tất cả thông tin như Danh mục, Sản phẩm, Giá, v.v. Sau đó, tạo các phạm vi được đặt tên để sử dụng trong các điều khiển biểu mẫu.
Tạo dãy được đặt tên:
- Liệt kê danh mục với tên sản phẩm.
- Chuyển tới Công thức tab>> chọn Trình quản lý tên>> chọn Mới .
Danh mục:
- Trong Tên: Danh mục.
- Trong Đề cập đến:

Sản phẩm:
- Chọn danh mục và sản phẩm.
- Chuyển tới Công thức tab>> chọn Tạo từ lựa chọn .
- Chọn Hàng trên cùng .
- Nhấp vào OK .

Đơn_giá :
- Chọn tên sản phẩm và giá.
- Chuyển tới Công thức tab>> chọn Tạo từ lựa chọn .
- Chọn Cột bên trái .
- Nhấp vào OK .

Tạo danh sách thả xuống:
Danh mục:
- Chọn ô B4.
- Đi tới Dữ liệu tab>> chọn Xác thực dữ liệu .
- Dưới Cho phép >> chọn Danh sách .
- Trong Nguồn: Chèn phạm vi được đặt tên.
- Nhấp vào OK .

Sản phẩm:
- Chọn ô B5 và tạo danh sách thả xuống phụ thuộc.
- Đi tới Dữ liệu tab>> chọn Xác thực dữ liệu .
- Dưới Cho phép >> chọn Danh sách .
- Trong Nguồn: Chèn công thức sau.
- Nhấp vào OK .

- Bạn có thể chọn sản phẩm dựa trên danh mục.
Đơn vị:
- Chọn ô B6.
- Đi tới Dữ liệu tab>> chọn Xác thực dữ liệu .
- Dưới Cho phép >> chọn Danh sách .
- Trong Nguồn: Chèn danh sách tối đa 10.
- Nhấp vào OK .

Đơn vị giá:
- Chọn ô B7.
- Đi tới Dữ liệu tab>> chọn Xác thực dữ liệu .
- Dưới Cho phép >> chọn Danh sách .
- Trong Nguồn: Chèn công thức sau.
- Nhấp vào OK .
=INDIRECT(SUBSTITUTE(B5, " ", "_"))

- Đây là danh sách thả xuống phụ thuộc.
- Bạn có thể chọn giá dựa trên sản phẩm.
Thêm nút gửi:
- Đi tới Nhà phát triển tab>> chọn Chèn >> chọn Nút từ Điều khiển biểu mẫu .
- Vẽ nút bên dưới biểu mẫu.
- Đặt tên là “Gửi đơn hàng” .

- Hãy tạm gác nó lại, chúng ta sẽ gán macro ở Bước 5.
Bước 4. Tạo cơ sở dữ liệu đơn hàng và bảng điều khiển
- Thêm trang tính mới có tên OrderData.
- Ở Hàng 1, thêm các tiêu đề sau:
- ID đơn hàng
- Ngày
- Danh mục
- Sản phẩm
- Đơn_Giá
- Đơn vị
- Tổng_số tiền

- Chúng tôi sẽ ẩn trang tính này sau để người dùng không nhìn thấy phần phụ trợ.
Bước 5:Thêm logic VBA
Bây giờ, chúng ta sẽ sử dụng mã VBA để gửi dữ liệu biểu mẫu trong bảng dữ liệu đơn hàng. Mã VBA này sẽ sao chép dữ liệu biểu mẫu vào cơ sở dữ liệu và xóa biểu mẫu cho mục nhập tiếp theo.
- Nhấp chuột phải vào Gửi đơn hàng nút>> Gán macro >> nhấp vào Mới .

- Chèn đoạn mã 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")
' Find the next empty row in the database
nextRow = wsDB.Cells(wsDB.Rows.Count, "A").End(xlUp).Row + 1
' Get last order ID (skip header)
If nextRow = 2 Then
' No orders yet ? start from 1001
newOrderNum = 1001
Else
lastOrderID = wsDB.Cells(nextRow - 1, 1).Value ' e.g., ORD-1005
newOrderNum = CLng(Replace(lastOrderID, "ORD-", "")) + 1
End If
' Save the current order to 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
' === Safe clear: only values ===
Application.EnableEvents = False
wsForm.Range("B3").Value = vbNullString
wsForm.Range("B4").Value = vbNullString ' Category (keeps DV)
wsForm.Range("B5").Value = vbNullString ' Product (keeps DV)
wsForm.Range("B6").Value = vbNullString ' Units (keeps DV)
wsForm.Range("B7").Value = vbNullString ' Unit Price (keeps DV)
wsForm.Range("B8").Formula = "=B6*B7" ' Restore Revenue formula
Application.EnableEvents = True
' Generate the next Order ID for the next entry
wsForm.Range("B2").Value = "ORD-" & (newOrderNum + 1)
MsgBox "Order submitted successfully!", vbInformation
End Sub

Giải thích:
- ID đơn hàng tự động tăng sau mỗi lần gửi.
- Gửi lần đầu tiên bắt đầu tại ORD-1001 nếu cơ sở dữ liệu trống.
- Sau mỗi lần nhấp chuột:
- Macro kiểm tra số đơn hàng được lưu trữ cuối cùng.
- Nó tăng thêm 1.
- Nó điền vào ô B2 trên biểu mẫu với ID có sẵn tiếp theo.
- Nó sẽ chỉ xóa các giá trị chứ không xóa công thức hoặc xác thực dữ liệu, vì vậy mục tiếp theo sẽ bắt đầu mới.
Bước 6:Tạo bảng tổng quan
Bây giờ bạn có thể tạo trang tổng quan dựa trên dữ liệu đơn đặt hàng.
- Tạo KPI: Tính Tổng đơn hàng, Doanh số bán hàng, Số lượng đã bán, Giá trị đơn hàng 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 trang tính để tạo giao diện cho ứng dụng
Tạo trang chủ:
- Đi tới Chèn tab>> chọn Minh họa >> chọn Hình dạng .
- Chọn Nút .
- Kéo nút vào ô.

- Nhấp chuột phải vào hình>> chọn Liên kết .

- Chọn Đặt vào tài liệu này>> chọn ô trang tính (nút điều hướng, không có mã).
- Chọn Mẫu đơn đặt hàng .
- Nhấp vào OK .

- Bằng cách làm theo các bước tương tự, hãy chèn siêu liên kết cho Trang tổng quan và bảng OrderData.
- Sau này hãy khóa dữ liệu đơn hàng vì mục đích bảo mật.

Ẩn logic:
Để làm cho Excel hoạt động giống một ứng dụng hơn:
- Chọn trang tính.
- Nhấp chuột phải>> chọn Ẩn .

- Bảo vệ trang Biểu mẫu đặt hàng để chỉ có thể thay đổi các ô nhập.
- Chuyển đến Chế độ xem tab:
- Bỏ chọn Thanh công thức .
- Bỏ chọn Đường lưới .
Bước 8:Kiểm tra ứng dụng đặt hàng
- Nhập đơn hàng mẫu:
- ID đơn đặt hàng: Nó sẽ tự động nhập ID đơn hàng.
- Ngày: Chèn ngày 1/3/2025
- Danh mục: Chọn danh mục từ danh sách thả xuống.
- Sản phẩm: Chọn Chuột từ trình đơn thả xuống phụ thuộc.
- Đơn vị: Chọn số Đơn vị từ danh sách.
- Đơn giá: Chọn Giá từ menu thả xuống phụ thuộc.
- Doanh thu: Tự động tính toán.
- Nhấp vào Gửi đơn hàng .

- ID đơn hàng tiếp theo sẽ tự động xuất hiện.
- Biểu mẫu sẽ được xóa cho đơn hàng tiếp theo.
- Một hộp thông báo sẽ bật lên nếu gửi biểu mẫu thành công.
- Nhấp vào OK .

- Kiểm tra bảng OrderData; mục nhập sẽ tự động xuất hiện ở đó.

Kết luận
Bạn có thể làm theo các bước trên để biến bảng Excel thành Ứng dụng. Bạn có thể sử dụng các nút, biểu mẫu và logic ẩn để tạo Ứng dụng động. Công cụ giống như ứng dụng này là một cách mạnh mẽ để hợp lý hóa việc nhập dữ liệu và giảm thiểu lỗi của người dùng mà không cần đầu tư vào phần mềm chuyên dụng. Bằng cách kết hợp biểu mẫu giao diện người dùng rõ ràng, danh sách thả xuống xác thực dữ liệu, bảng cơ sở dữ liệu ẩn và tự động hóa VBA, chúng tôi đã tạo ra một hệ thống quản lý đơn hàng đầy đủ chức năng. Bạn có thể mở rộng thiết lập này bằng bảng thông tin, báo cáo tóm tắt hoặc thậm chí tích hợp Power Query để có những 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!