Excel VBA: Trình tạo số ngẫu nhiên không trùng lặp (4 ví dụ)

  • Chia Sẻ Cái Này
Hugh West

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ở 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 của bạn vào trong trình chỉnh sửa mã trực quan 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 1 loại trừ.

Nhiệm vụ : Tạo 10 số ngẫu nhiên giữa 0 1 trong ô A1:A10.

: Chèn 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 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 số thấp nhất giới hạn trên 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.

: Chèn 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 20 trong ô A1:B10.

: Chèn 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 20 trong ô A1:B10.

: Chèn 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 LowerBound trong các thuộc tính.

  • Thêm hai thêm nhãn có tên Upperbund 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 sau vào trình chỉnh sửa mã .
6067

  • Nhấn F5 để chạy UserForm đã xuất hiện .
  • Đặt giới hạn dưới , giới hạn trên, 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é.

Hugh West là một nhà phân tích và huấn luyện viên Excel giàu kinh nghiệm với hơn 10 năm kinh nghiệm trong ngành. Ông có bằng Cử nhân Tài chính Kế toán và bằng Thạc sĩ Quản trị Kinh doanh. Hugh có niềm đam mê giảng dạy và đã phát triển một phương pháp giảng dạy độc đáo, dễ hiểu và dễ theo dõi. Kiến thức chuyên môn về Excel của ông đã giúp hàng nghìn sinh viên và chuyên gia trên toàn thế giới cải thiện kỹ năng và xuất sắc trong sự nghiệp của họ. Thông qua blog của mình, Hugh chia sẻ kiến ​​thức của mình với mọi người, cung cấp các hướng dẫn Excel miễn phí và đào tạo trực tuyến để giúp các cá nhân và doanh nghiệp phát huy hết tiềm năng của họ.