Excel VBA: dublikatsiz tasodifiy raqamlar generatori (4 ta misol)

  • Buni Baham Ko'Ring
Hugh West

Ushbu maqolada tasodifiy sonlar generatorining 4 ta misoli ko'rsatilgan. Bu erda kodimizni sozlash uchun Excelning o'rnatilgan Rnd funksiyasidan foydalanamiz. Noyob tasodifiy sonlarni yaratish usullarini o'rganish uchun misollarga sho'ng'ib olaylik.

Mashqlar kitobini yuklab oling

Ushbu maqolani o'qiyotganingizda mashq qilish uchun ushbu mashq kitobini yuklab oling.

Tasodifiy sonlar generatori duplicates.xlsm

Excel VBA-da takrorlanmaydigan tasodifiy sonlar generatoriga 4 misol

Visual Basic muharririda kod yozish

takroriysiz tasodifiy sonlarni yaratish uchun biz ochishimiz va VBA-ni yozishimiz kerak. kod vizual asosiy muharrirda. qadamlarni bajaring vizual asosiy muharrirni oching va u yerga kod yozing.

  • ga o'ting>Developer yorlig'i Excel Ribbon .
  • Visual Basic variantini bosing.

  • Visual Basic For Applications oynasida Qo'shish ochiladigan ro'yxatini bosing ni tanlang Yangi modul variant.

Endi kodni vizual kod muharriri ichiga qo'ying va F5 tugmasini bosing uchun uni ishga tushirish u.

1. Tasodifiy sonlarni takrorlashsiz yaratish uchun VBA Rnd funksiyasidan foydalanish

Rnd funksiyasi Excel VBA dan <1ga qadar ishlatiladi> tasodifiy sonlarni yarating, ular 0 orasida va 1 eksklyuziv.

Vazifa : 10 ta tasodifiy sonni yarating 0 va 1 A1:A10 kataklarida .

Kod : Quyidagi kodni kodni vizual asosiy muharrir ga kiriting va F5 tugmasini bosing to uni ishga tushirish u.

4733

Chiqish : Yuqoridagi skrinshotda 10 ta noyob tasodifiy raqam<2 ko'rsatilgan> 0 va 1 oralig'ida.

Kod izohi:

Ushbu kodda biz Rnd funktsiyasidan foydalandik to tasodifiy sonlarni yacheykalar diapazoniga A1:A10 kiritish. yangi raqam qo'yishdan oldin biz Do While Loop dan raqami ni raqamini izlash uchun ishlatdik. 1>oldindan belgilangan hujayra diapazoni (A1:A10) u allaqachon mavjudmi yoki yo'q . hujayra diapazonidagi raqamning mavjudligi har safar mavjudligini tekshirish uchun biz kodni COUNTIF funksiyasi bilan sozladik, bu funksiya qo'shishdan oldin allaqachon mavjud raqamlarning ro'yxatidagi a yangi tasodifiy son ni tekshiradi.

Batafsil o'qing : Tasodifiy son yaratish uchun Excel formulasi (5 ta misol)

2. Aniqlangan pastki va yuqori chegara uchun tasodifiy sonlar generatori

tasodifiy sonlarni belgilangan diapazonda yaratish uchun VBA kodimizda pastki chegara va yuqori chegarani o'rnating. Ma'lumot uchun, pastki chegara eng past son va yuqori chegara tasodifiy sonlar generatori uchun diapazondagi eng yuqori son . Kodimizda quyidagi formula dan foydalanishimiz mumkin.

(yuqori chegara – pastki chegara + 1) * Rnd + pastki chegara

2.1 Tasodifiy Raqamlar generatori- O'nlik

Vazifa : da 10 va 20 oralig'ida 10 ta tasodifiy son hosil qiling>A1:A10 katakchalari.

Kod : Vizual asosiy muharrirga quyidagi kodni qo'ying va F5 tugmasini bosing to uni ishga tushirish u.

9714

Chiqish : Yuqoridagi skrinshotda 10 ta noyob tasodifiy sonlar<2 koʻrsatilgan> 1 va 10 oralig'ida.

2.2 Tasodifiy sonlar generatori- Butun son

Ushbu rasmda biz<1 dan foydalanamiz> VBA Int funktsiyasi - tasodifiy sonlar dan kasr qismini o'chirish.

Vazifa : A1:B10 katakchalarida 1 va 20 oralig'ida ta tasodifiy 20 ta tasodifiy butun son hosil qiling.

Kod : Vizual asosiy muharrirga quyidagi kodni qo'ying va F5 tugmasini bosing to uni ishga tushirish u.

2918

Chiqish : Yuqoridagi skrinshotda 20 ta noyob tasodifiy butun son 1 va 20 oralig'ida.

Batafsil o'qing: Excelda takroriy takrorlanmaydigan tasodifiy sonlar generatori (9 usul)

Shunga o'xshash o'qishlar

  • Ma'lumotlarni tahlil qilish vositasi va Excelda funktsiyalari bilan tasodifiy sonlar generatori
  • Qanday qilish kerak Excelda tasodifiy ma'lumotlarni yaratish (9Oson usullar)
  • Excelda tasodifiy 5 xonali sonlar generatori (7 ta misol)
  • Excelda tasodifiy 4 xonali sonlar generatori (8 ta misol)
  • Excel da ro'yxatda tasodifiy son yaratish (4 usul)

3. Excel VBA-da noyob tasodifiy sonlar generatori uchun o'nlik joylarni belgilang

Biz kodimizdagi Round funksiyasidan belgilash ni ishlatishimiz mumkin. tasodifiy yaratilgan noyob raqamlar dagi o'nlik joylaridan soni . Funksiyaning sintaksisi -

Round(ifoda, [sonli oʻrinlar])

Biz belgilashimiz kerak 2-argument bizning talab bo'yicha.

Vazifa : 2 ta kasrli 20 ta tasodifiy sonni yarating <1 A1:B10 kataklarida 1 va 20 .

Kod : Vizual asosiy muharrirga quyidagi kodni qo'ying va F5 tugmasini bosing to uni ishga tushirish u.

3819

Chiqish : Yuqoridagi skrinshotda 20 ta noyob tasodifiy butun sonlar koʻrsatilgan. 2 kasr 1 va 20 oralig'ida.

Batafsil o'qing: Excelda o'nli kasrlar yordamida tasodifiy son yaratish (3 usul)

4. Excel VBA da dublikatsiz tasodifiy sonlar generatori uchun foydalanuvchi formasini ishlab chiqish

Ushbu rasmda biz UserForm dan qanday foydalanishni ko'rsatamiz>Excel VBA to tasodifiy sonlarni takrorlashsiz yaratish.

Vazifa: Yaratish20 ta tasodifiy son yacheyka diapazonidagi A1:B10 UserForm dan foydalanib, kiritish qiymatlari (i) pastki chegara (ii) yuqori chegara (iii) onlik kasrlar soni.

Foydalanuvchi formasini yarating:

Foydalanuvchi shakli bizning kerakli kiritish maydonlarimiz bilan yaratish uchun quyidagi amallarni bajaring. .

  • Excel lentasi dan Dasturchi yorlig'iga o'ting.
  • Visual-ni bosing. Asosiy variant.

  • Visual Basic For Applications oynasida Qo'shish ochiladigan ro'yxatini bosing uchun UserForm variantini tanlang.

  • UserForm-ga qo'shing a yorliq .
  • Xususiyatlarda yorliq ni LowerBound deb yozing.

  • ikkita yana yorliqlar nomli Upperbund va DecimalPlaces qoʻshing.

  • Endi UserForm ga uchta matn qutisini qo'shing.

  • Ushbu bosqichda a Buyruq tugmachasini qo'shing va uni Yaratish deb nomlang.

  • Endi, Buyruq tugmachasini ikki marta bosing va quyidagi kodni kod muharriri ga qo'ying.
4644

  • F5 bosing kodini va UserForm paydo boʻldi .
  • pastki chegara , yuqori chegara, va raqamni UserForm da o'nlik joylardan 2> va Yaratish-ni bosingTugma .

Chiqish : A1:B10 kataklarida 20 ta tasodifiy mavjud. 1 dan 30 gacha bo'lgan diapazonda 2 kasrli raqamli sonlar.

Batafsil o'qing: Excelda takroriy holda tasodifiy raqamlarni qanday yaratish mumkin (7 usul)

Eslash kerak bo'lgan narsalar

  • Biz ham foydalanishimiz mumkin Int funktsiyasi o'rniga funktsiyani noyob butun sonlarni yaratish uchun tuzating. funksiya xuddi Int funktsiyasi kabi raqamning kasr qismini kasr qismini o'chiradi.

Xulosa

Endi biz mos misollar yordamida Excelda VBA yordamida noyob tasodifiy sonlarni qanday yaratishni bilamiz. Umid qilamanki, bu sizga funksionallikdan ishonchliroq foydalanishga yordam beradi. Har qanday savol yoki takliflar bo'lsa, ularni quyidagi sharhlar maydoniga qo'yishni unutmang.

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.