Excel VBA: تولید کننده اعداد تصادفی بدون تکرار (4 مثال)

  • این را به اشتراک بگذارید
Hugh West

این مقاله 4 نمونه از تولید کننده اعداد تصادفی را بدون تکرار با استفاده از VBA در اکسل نشان می دهد. در اینجا ما از تابع Rnd داخلی اکسل برای پیکربندی کد خود استفاده خواهیم کرد. بیایید به مثال‌ها بپردازیم تا تکنیک‌های تولید اعداد تصادفی منحصربه‌فرد را بیاموزیم.

دانلود کتاب تمرین تمرین

این کتاب تمرین را برای تمرین در حین خواندن این مقاله دانلود کنید.

تولید کننده اعداد تصادفی بدون Duplicates.xlsm

4 نمونه از تولید کننده اعداد تصادفی بدون تکرار در Excel VBA

نوشتن کد در ویرایشگر ویژوال بیسیک

برای تولید اعداد تصادفی بدون تکرار ، باید را باز کرده و VBA را بنویسیم کد در ویرایشگر ویژوال بیسیک. مراحل را دنبال کنید برای باز کردن ویرایشگر اساسی ویژوال و کدی در آنجا بنویسید.

  • به <1 بروید>برگه Developer از Excel Ribbon .
  • روی گزینه Visual Basic کلیک کنید.

  • در پنجره Visual Basic For Applications ، روی منوی کشویی Insert کلیک کنید تا ماژول جدید را انتخاب کنید گزینه.

اکنون کد خود را در ویرایشگر کد تصویری قرار دهید و F5 را فشار دهید تا آن را اجرا کنید.

1. استفاده از تابع VBA Rnd برای تولید اعداد تصادفی بدون تکرار

تابع Rnd در Excel VBA تا <1 استفاده می شود>تولید اعداد تصادفی که بین 0 هستند و 1 انحصاری.

وظیفه : تولید 10 عدد تصادفی بین 0 و 1 در سلول های A1:A10.

کد : کد زیر را در ویرایشگر اصلی ویژوال وارد کنید و F5 را فشار دهید برای اجرا کردن آن.

4691

خروجی : تصویر بالا 10 عدد تصادفی منحصر به فرد را نشان می دهد در محدوده 0 و 1.

توضیح کد:

در این کد از تابع Rnd <2 استفاده کردیم>برای درج اعداد تصادفی در محدوده سلولی A1:A10 . قبل از درج یک عدد جدید ، از Do while Loop برای جستجوی برای عدد در <استفاده کردیم 1>محدوده سلولی از پیش تعریف شده (A1:A10) خواه از قبل وجود داشته باشد یا نه . برای بررسی وجود عدد در محدوده سلول هر بار، کد را با عملکرد COUNTIF پیکربندی کردیم، این تابع یک یک عدد تصادفی جدید در لیست از اعداد از قبل موجود را قبل از درج آن بررسی می‌کند.

بیشتر بخوانید. : فرمول اکسل برای تولید اعداد تصادفی (5 مثال)

2. تولید اعداد تصادفی برای محدوده پایین و بالا تعریف شده بدون تکرار

برای تولید اعداد تصادفی در یک محدوده تعریف شده ، باید کاهش پایین و بالا را در کد VBA خود تنظیم کنید. برای اطلاعات، کران پایین کمترین عدد و بالا بالاترین عدد در محدوده برای مولد اعداد تصادفی است. ما می توانیم از فرمول زیر در کد خود استفاده کنیم.

(بالا - باند پایین + 1) * Rnd + پایین

2.1 تصادفی تولید کننده اعداد- اعشاری

وظیفه : 10 عدد تصادفی بین 10 و 20 در <1 ایجاد کنید> سلول های A1:A10.

کد : کد زیر را در ویژوال پایه وارد کنید و F5 را فشار دهید برای اجرا کردن آن.

3573

خروجی : تصویر بالا 10 عدد تصادفی منحصر به فرد را نشان می دهد در محدوده 1 و 10.

2.2 تولید کننده اعداد تصادفی- عدد صحیح

در این تصویر، ما از <1 استفاده خواهیم کرد> تابع VBA Int برای حذف قسمت کسری از اعداد تصادفی .

وظیفه : 20 عدد صحیح تصادفی بین 1 و 20 در سلول های A1:B10 ایجاد کنید.

کد : کد زیر را در ویژوال پایه وارد کنید و F5 را فشار دهید برای اجرا کردن آن.

8599

خروجی : تصویر صفحه بالا 20 عدد صحیح تصادفی منحصر به فرد را نشان می دهد در محدوده 1 و 20.

بیشتر بخوانید: تولید کننده اعداد تصادفی در اکسل بدون تکرار (9 روش)

خوانش های مشابه

  • تولید کننده اعداد تصادفی با ابزار و توابع تجزیه و تحلیل داده ها در اکسل
  • چگونه تولید داده های تصادفی در اکسل (9روش‌های آسان)
  • مولد اعداد تصادفی 5 رقمی در اکسل (7 مثال)
  • مولد اعداد تصادفی 4 رقمی در اکسل (8 مثال)
  • تولید اعداد تصادفی از لیست در اکسل (4 روش)

3. مکان های اعشاری را برای تولید کننده اعداد تصادفی منحصر به فرد در Excel VBA مشخص کنید

ما می توانیم از تابع Round در کد خود برای مشخص کردن استفاده کنیم تعداد مکان اعشاری در اعداد منحصربه‌فرد تولید شده به طور تصادفی . نحو تابع است-

Round(عبارت، [numdecimalplace])

ما باید را مشخص کنیم آگومان دوم طبق نیاز ما .

وظیفه : 20 عدد تصادفی با 2 رقم اعشار بین <1 ایجاد کنید>1 و 20 در سلول های A1:B10.

کد : کد زیر را در ویژوال پایه وارد کنید و F5 را فشار دهید برای اجرا کردن آن.

3549

خروجی : تصویر بالا 20 عدد صحیح تصادفی منحصر به فرد را نشان می دهد. 2 رقم اعشار در محدوده 1 و 20.

بیشتر بخوانید: تولید اعداد تصادفی در اکسل با اعشار (3 روش)

4. یک فرم کاربری برای تولید کننده اعداد تصادفی بدون تکرار در Excel VBA ایجاد کنید

در این تصویر، نحوه استفاده از UserForm در <1 را نشان خواهیم داد>Excel VBA برای تولید اعداد تصادفی بدون بدون تکرار .

وظیفه: تولید20 عدد تصادفی در محدوده سلول A1:B10 با استفاده از UserForm با مقادیر ورودی (i) محدوده پایین (ii) بالا (iii) تعداد ارقام اعشاری.

ایجاد یک UserForm:

مراحل زیر را برای ایجاد UserForm با فیلدهای ورودی دلخواه دنبال کنید .

  • از Excel Ribbon به برگه Developer بروید.
  • روی روی Visual کلیک کنید گزینه Basic.

  • در پنجره Visual Basic For Applications ، روی منوی بازشوی Insert <2 کلیک کنید>برای انتخاب گزینه UserForm .

  • در UserForm را اضافه کنید یک برچسب .
  • برچسب برچسب به عنوان LowerBound در ویژگی ها.

  • دو برچسب دیگر با نام Upperbund و DecimalPlaces اضافه کنید.

  • اکنون سه TextBox در UserForm اضافه کنید.

  • در این مرحله، a CommandButton را اضافه کنید و نام آن را Generate بگذارید.

  • اکنون، روی روی CommandButton دوبار کلیک کنید و کد زیر را در ویرایشگر کد قرار دهید.
1953

  • F5 را فشار دهید تا اجرا شود کد و UserForm ظاهر شد .
  • downbound ، upperbound، و شماره <را قرار دهید. 2>از مکان اعشاری در UserForm و Generate را بزنیددکمه .

خروجی : در سلول های A1:B10 ، 20 تصادفی وجود دارد اعداد با 2 رقم اعشار در محدوده از 1 تا 30.

بیشتر بخوانید: نحوه ایجاد اعداد تصادفی بدون تکرار در اکسل (7 روش)

چیزهایی که باید به خاطر بسپارید

  • ما همچنین می توانیم از برای تولید اعداد صحیح منحصر به فرد به جای عملکرد Int به رفع تابع . تابع قسمت کسری یک عدد را دقیقاً مانند تابع Int حذف می‌کند.

نتیجه گیری

اکنون، ما می دانیم که چگونه با استفاده از VBA در Excel با کمک مثال های مناسب، اعداد تصادفی منحصر به فرد تولید کنیم. امیدوارم به شما کمک کند تا با اطمینان بیشتری از عملکرد استفاده کنید. هر گونه سوال یا پیشنهاد فراموش نکنید که آنها را در کادر نظر زیر مطرح کنید.

هیو وست یک مربی و تحلیلگر اکسل بسیار با تجربه با بیش از 10 سال تجربه در این صنعت است. وی دارای مدرک لیسانس در رشته حسابداری و امور مالی و مدرک کارشناسی ارشد در رشته مدیریت بازرگانی است. هیو علاقه زیادی به تدریس دارد و یک رویکرد آموزشی منحصر به فرد ایجاد کرده است که به راحتی قابل پیگیری و درک است. دانش تخصصی او از اکسل به هزاران دانش آموز و متخصص در سراسر جهان کمک کرده تا مهارت های خود را بهبود بخشند و در حرفه خود برتری پیدا کنند. هیو از طریق وبلاگ خود دانش خود را با جهان به اشتراک می گذارد و آموزش های رایگان اکسل و آموزش آنلاین ارائه می دهد تا به افراد و مشاغل کمک کند تا به پتانسیل کامل خود دست یابند.