Mục lục
Bài viết này minh họa 4 ví dụ về trình tạo số ngẫu nhiên không trùng lặp bằng VBA trong Excel. Ở đây, chúng tôi sẽ sử dụng chức năng Rnd tích hợp sẵn của Excel để định cấu hình mã của chúng tôi. Hãy đi sâu vào các ví dụ để tìm hiểu các kỹ thuật tạo số ngẫu nhiên duy nhất.
Tải sách bài tập thực hành xuống
Tải sách bài tập thực hành này xuống để thực hiện khi bạn đang đọc bài viết này.
Trình tạo số ngẫu nhiên không trùng lặp.xlsm
4 Ví dụ về Trình tạo số ngẫu nhiên không trùng lặp trong Excel VBA
Viết mã trong Visual Basic Editor
Để tạo số ngẫu nhiên không trùng lặp , chúng ta cần mở và viết VBA mã trong trình chỉnh sửa trực quan cơ bản. Làm theo các bước để mở trình soạn thảo visual basic và viết một số mã ở đó.
- Chuyển đến tab Nhà phát triển từ Dải băng Excel .
- Nhấp vào tùy chọn Visual Basic.
- Trong cửa sổ Visual Basic For Applications , nhấp vào menu thả xuống Chèn để chọn Mô-đun mới tùy chọn.
Bây giờ hãy đặt mã của bạn vào trong trình chỉnh sửa mã trực quan và nhấn F5 để chạy nó.
1. Sử dụng hàm VBA Rnd để tạo số ngẫu nhiên không trùng lặp
Hàm Rnd được sử dụng trong Excel VBA đến tạo các số ngẫu nhiên có giá trị trong khoảng từ 0 và 1 loại trừ.
Nhiệm vụ : Tạo 10 số ngẫu nhiên giữa 0 và 1 trong ô A1:A10.
Mã : Chèn mã sau vào trình chỉnh sửa trực quan cơ bản và nhấn F5 để chạy it.
2390
Đầu ra : Ảnh chụp màn hình ở trên hiển thị 10 số ngẫu nhiên duy nhất trong phạm vi 0 và 1.
Mã Giải thích:
Trong mã này, chúng tôi đã sử dụng hàm Rnd để chèn số ngẫu nhiên vào phạm vi ô A1:A10 . Trước khi chèn a số mới , chúng tôi đã sử dụng Vòng lặp Do While để tìm kiếm số số trong dải ô được xác định trước (A1:A10) dải ô đó đã tồn tại hay không . Để kiểm tra sự tồn tại của số trong phạm vi ô mỗi lần, chúng tôi đã định cấu hình mã bằng hàm COUNTIF , Hàm này kiểm tra một số ngẫu nhiên mới trong danh sách của các số đã tồn tại trước khi chèn nó.
Đọc thêm : Công thức Excel để tạo số ngẫu nhiên (5 ví dụ)
2. Trình tạo số ngẫu nhiên cho giới hạn dưới và giới hạn trên được xác định mà không trùng lặp
Để tạo số ngẫu nhiên trong phạm vi xác định , chúng ta cần phải đặt giới hạn dưới và giới hạn trên trong mã VBA của chúng tôi. Để biết thông tin, giới hạn dưới là số thấp nhất và giới hạn trên là số cao nhất trong phạm vi của trình tạo số ngẫu nhiên. Chúng ta có thể sử dụng công thức sau trong mã của mình.
(giới hạn trên – giới hạn dưới + 1) * Rnd + giới hạn dưới
2.1 Ngẫu nhiên Trình tạo số- Số thập phân
Nhiệm vụ : Tạo 10 số ngẫu nhiên từ 10 đến 20 trong các ô A1:A10.
Mã : Chèn mã sau vào trình chỉnh sửa trực quan cơ bản và nhấn F5 để chạy it.
9217
Đầu ra : Ảnh chụp màn hình ở trên hiển thị 10 số ngẫu nhiên duy nhất trong phạm vi 1 và 10.
2.2 Trình tạo số ngẫu nhiên- Số nguyên
Trong hình minh họa này, chúng tôi sẽ sử dụng Hàm VBA Int để xóa phần phân số khỏi số ngẫu nhiên .
Tác vụ : Tạo 20 số nguyên ngẫu nhiên giữa 1 và 20 trong ô A1:B10.
Mã : Chèn mã sau vào trình chỉnh sửa trực quan cơ bản và nhấn F5 để chạy it.
2626
Đầu ra : Ảnh chụp màn hình ở trên hiển thị 20 số nguyên ngẫu nhiên duy nhất trong phạm vi 1 và 20.
Đọc thêm: Trình tạo số ngẫu nhiên trong Excel không lặp lại (9 phương pháp)
Bài đọc tương tự
- Trình tạo số ngẫu nhiên với công cụ và hàm phân tích dữ liệu trong Excel
- Cách Tạo dữ liệu ngẫu nhiên trong Excel (9Phương pháp đơn giản)
- Trình tạo số 5 chữ số ngẫu nhiên trong Excel (7 ví dụ)
- Trình tạo số 4 chữ số ngẫu nhiên trong Excel (8 ví dụ)
- Tạo số ngẫu nhiên từ danh sách trong Excel (4 cách)
3. Chỉ định vị trí thập phân cho Trình tạo số ngẫu nhiên duy nhất trong Excel VBA
Chúng ta có thể sử dụng hàm Round trong mã của mình để chỉ định số của vị trí thập phân trong các số duy nhất được tạo ngẫu nhiên . cú pháp của hàm là-
Round(expression, [numdecimalplaces])
Chúng ta cần chỉ định các Đối số thứ 2 theo yêu cầu của chúng tôi.
Nhiệm vụ : Tạo 20 số ngẫu nhiên có 2 chữ số thập phân giữa 1 và 20 trong ô A1:B10.
Mã : Chèn mã sau vào trình chỉnh sửa trực quan cơ bản và nhấn F5 để chạy it.
5128
Đầu ra : Ảnh chụp màn hình ở trên hiển thị 20 số nguyên ngẫu nhiên duy nhất với 2 chữ số thập phân trong phạm vi 1 và 20.
Đọc thêm: Tạo số ngẫu nhiên trong Excel bằng số thập phân (3 phương pháp)
4. Phát triển Biểu mẫu người dùng cho Trình tạo số ngẫu nhiên không trùng lặp trong Excel VBA
Trong hình minh họa này, chúng tôi sẽ trình bày cách sử dụng Biểu mẫu người dùng trong Excel VBA để tạo số ngẫu nhiên với không trùng lặp .
Tác vụ: Tạo20 số ngẫu nhiên trong phạm vi ô A1:B10 sử dụng UserForm với giá trị đầu vào (i) đường dưới (ii) giới hạn trên (iii) số chữ số thập phân.
Tạo Biểu mẫu người dùng:
Thực hiện theo các bước bên dưới để tạo Biểu mẫu người dùng với các trường nhập mong muốn của chúng tôi .
- Chuyển đến tab Nhà phát triển từ Dải băng Excel .
- Nhấp vào Trực quan Tùy chọn cơ bản.
- Trong cửa sổ Visual Basic For Applications , nhấp vào menu thả xuống Chèn đến chọn tùy chọn UserForm .
- Trong UserForm thêm một nhãn .
- Chú thích nhãn là LowerBound trong các thuộc tính.
- Thêm hai thêm nhãn có tên Upperbund và DecimalPlaces .
- Bây giờ hãy thêm ba Hộp văn bản vào UserForm .
- Ở giai đoạn này, thêm a CommandButton và đặt tên là Tạo .
- Bây giờ, nhấp đúp vào CommandButton và nhập mã sau vào trình chỉnh sửa mã .
6067
- Nhấn F5 để chạy mã và UserForm đã xuất hiện .
- Đặt giới hạn dưới , giới hạn trên, và số của số thập phân trong UserForm và nhấn TạoNút .
Đầu ra : Trong ô A1:B10 , có 20 ngẫu nhiên số với 2 chữ số thập phân trong phạm vi từ 1 đến 30.
Đọc thêm: Cách tạo số ngẫu nhiên không trùng lặp trong Excel (7 cách)
Những điều cần nhớ
- Chúng ta cũng có thể sử dụng Sửa hàm thay vì Hàm int để tạo số nguyên duy nhất . Hàm xóa phần phân số của số giống như hàm Int .
Kết luận
Bây giờ, chúng ta đã biết cách tạo các số ngẫu nhiên duy nhất bằng VBA trong Excel với sự trợ giúp của các ví dụ phù hợp. Hy vọng, nó sẽ giúp bạn sử dụng chức năng một cách tự tin hơn. Mọi thắc mắc, góp ý đừng quên comment vào ô bình luận bên dưới nhé.