فهرست مطالب
این مقاله 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 با کمک مثال های مناسب، اعداد تصادفی منحصر به فرد تولید کنیم. امیدوارم به شما کمک کند تا با اطمینان بیشتری از عملکرد استفاده کنید. هر گونه سوال یا پیشنهاد فراموش نکنید که آنها را در کادر نظر زیر مطرح کنید.