Mündəricat
Bu məqalə Excel-də VBA-dan istifadə edərək heç bir dublikatı olmayan təsadüfi ədədlər generatorunun 4 nümunəsini təsvir edir. Burada kodumuzu konfiqurasiya etmək üçün Excel-in daxili Rnd funksiyasından istifadə edəcəyik. Unikal təsadüfi ədədlər yaratmaq üsullarını öyrənmək üçün nümunələrə nəzər salaq.
Təcrübə İş Kitabını endirin
Bu məqaləni oxuyarkən məşq etmək üçün bu məşq kitabını endirin.
Duplicates.xlsm ilə Təsadüfi Nömrələr Generatoru
Excel VBA-da Dublikatsız Təsadüfi Nömrələr Generatorunun 4 Nümunəsi
Visual Basic Redaktorunda Kod Yazın
dublikatsız təsadüfi ədədlər yaratmaq üçün biz açmaq və VBA yazmalıyıq. kodu vizual əsas redaktorda. addımları açmaq üçün vizual əsas redaktoru edin və ora bəzi kod yazın.
- <1-ə keçin>Developer tabından Excel Ribbon .
- Visual Basic seçiminə klikləyin.
- Tətbiqlər üçün Visual Basic pəncərəsində Daxil et açılır menyusuna klikləyin Yeni Modulu seçin seçim.
İndi kodunuzu vizual kod redaktoru içərisinə qoyun və F5 düyməsini basın üçün çalışdırın onu.
1. Dublikatsız Təsadüfi Nömrə Yaratmaq üçün VBA Rnd Funksiyasının İstifadəsi
Rnd funksiyası Excel VBA -dən <1-ə qədər istifadə olunur>0 arasında olan təsadüfi ədədlər yaradın və 1 eksklüziv.
Tapşırıq : 10 təsadüfi ədəd yaradın 0 və 1 arasında A1:A10 xanalarında .
Kod : Vizual əsas redaktorda aşağıdakı kodu daxil edin və F5 düyməsini basın çalışdırmaq üçün onu.
4567
Çıxış : Yuxarıdakı ekran görüntüsü 10 unikal təsadüfi nömrəni göstərir 0 və 1 diapazonunda.
Kodun izahı:
Bu kodda biz Rnd funksiyasından <2 istifadə etdik> təsadüfi ədədlər daxil etmək üçün xana diapazonuna A1:A10 . yeni rəqəm daxil etməzdən əvvəl biz rəqəmini axtarmaq üçün Do while döngüsü istifadə etdik. 1>əvvəlcədən təyin edilmiş xana diapazonu (A1:A10) onun artıq mövcud olub-olmaması və ya yox . Hər dəfə hüceyrə diapazonunda rəqəm in mövcudluğunu yoxlamaq üçün biz kodu COUNTIF funksiyası ilə konfiqurasiya etdik, Bu funksiya daxil etməzdən əvvəl artıq mövcud nömrələrin siyahısındakı a yeni təsadüfi ədədi yoxlayır.
Daha çox oxuyun. : Təsadüfi ədəd yaratmaq üçün Excel düsturu (5 misal)
2. Dublikatları olmayan müəyyən edilmiş aşağı və yuxarı sərhəd üçün təsadüfi ədəd generatoru
təsadüfi ədədlər müəyyən edilmiş diapazonda yaratmaq üçün biz lazımdır VBA kodumuzda aşağı sərhəd və yuxarı sərhəd təyin edin. Məlumat üçün aşağı sərhəd ən aşağı rəqəm və yuxarı sərhəddir təsadüfi ədədlər generatoru üçün aralıqda ən ən yüksək rəqəm dir. Kodumuzda aşağıdakı formula dən istifadə edə bilərik.
(yuxarı - aşağı sərhəd + 1) * Rnd + aşağı sərhəd
2.1 Təsadüfi Nömrə Generatoru- Ondalık
Tapşırıq : 10 və 20 arasında 10 təsadüfi ədəd yaradın>A1:A10 xanaları.
Kod : Vizual əsas redaktorda aşağıdakı kodu daxil edin və F5 düyməsini basın çalışdırmaq üçün onu.
3772
Çıxış : Yuxarıdakı skrinşot 10 unikal təsadüfi nömrəni göstərir 1 və 10 diapazonunda.
2.2 Təsadüfi Ədəd Generatoru- Tam ədəd
Bu təsvirdə biz<1-dən istifadə edəcəyik> VBA Int funksiyası - kəsr hissəsini təsadüfi ədədlərdən silmək.
Tapşırıq : A1:B10 xanalarında 1 və 20 arasında təsadüfi 20 tam ədəd yaradın.
Kod : Vizual əsas redaktorda aşağıdakı kodu daxil edin və F5 düyməsini basın çalışdırmaq üçün it.
6530
Çıxış : Yuxarıdakı skrinşot 20 unikal təsadüfi tam ədədi göstərir 1 və 20 diapazonunda.
Ətraflı oxuyun: Təkrarsız Excel-də Təsadüfi Rəqəmlər Generatoru (9 Metod)
Oxşar oxunuşlar
- Excel-də verilənlərin təhlili aləti və funksiyaları ilə təsadüfi ədəd generatoru
- Necə etmək olar Excel-də təsadüfi məlumat yaradın (9Asan Metodlar)
- Excel-də Təsadüfi 5 Rəqəmli Rəqəm Generatoru (7 Nümunə)
- Excel-də Təsadüfi 4 Rəqəmli Rəqəm Generatoru (8 Nümunə)
- Excel-də Siyahıdan Təsadüfi Nömrə Yarat (4 Yol)
3. Excel VBA-da Unikal Təsadüfi Ədəd Generatoru üçün Ondalıq Yerləri Müəyyən edin
Biz kodumuzda Dəyirmi funksiyadan istifadə edərək müəyyən etmək üçün istifadə edə bilərik təsadüfi yaradılmış unikal ədədlərdə onluq yerlərin sayı . Funksiyanın sintaksisi -
Round(ifadə, [numdecimalplaces])
Biz təyin etməliyik 2-ci arqument bizim tələbimizə uyğun olaraq.
Tapşırıq : 2 onluq yer <1 arasında olan 20 təsadüfi ədəd yaradın A1:B10 xanalarında>1 və 20 .
Kod : Vizual əsas redaktorda aşağıdakı kodu daxil edin və F5 düyməsini basın çalışdırmaq üçün it.
9173
Çıxış : Yuxarıdakı ekran görüntüsü 20 unikal təsadüfi tam ədədi göstərir. 1 və 20 diapazonunda 2 onluq yer .
Ətraflı oxuyun: Excel-də Ondalıklarla Təsadüfi Ədəd Yaradın (3 Metod)
4. Excel VBA-da Dublikatları olmayan Təsadüfi Nömrələr Generatoru üçün İstifadəçi Formasını Hazırlayın
Bu təsvirdə biz UserForm -dən necə istifadə edəcəyimizi göstərəcəyik>Excel VBA təsadüfi ədədlər yaratmaq üçün dublikat olmadan .
Tapşırıq: Yaratmaq20 təsadüfi ədəd xüceyrə diapazonunda A1:B10 UserForm istifadə edərək giriş dəyərləri (i) aşağı sərhəd (ii) yuxarı (iii) onluq yerlərin sayı.
İstifadəçi Forması yaradın:
İstifadəçi Forması istənilən daxiletmə sahələrimizlə yaratmaq üçün aşağıdakı addımları yerinə yetirin .
- Excel lentindən Tərtibatçı tabına keçin.
- Visual üzərinə klikləyin Əsas seçim.
- Tətbiqlər üçün Visual Basic pəncərəsində Daxil et açılır menyusuna klikləyin üçün UserForm seçimini seçin.
- UserForm-a əlavə edin a etiket .
- Xüsusiyyətlərdə etiket LowerBound kimi başlıq yazın.
- iki daha etiket adlı Upperbund və DecimalPlaces əlavə edin.
- İndi UserForm -ə üç Mətn Qutusu əlavə edin.
- Bu mərhələdə, əlavə a CommandButton və adını Yarat qoyun.
- İndi Command Button üzərinə iki dəfə klikləyin və aşağıdakı kodu kod redaktoruna qoyun.
8190
- F5 basın işlətmək üçün kodu və UserForm göründü .
- aşağı sərhəd , yuxarı, və rəqəm
onluq yerdən UserForm və YaratDüymə .
Çıxış : A1:B10 xanalarında 20 təsadüfi var 1-dən 30-a qədər olan diapazonda 2 onluq yer olan rəqəmlər.
Ətraflı oxu: Excel-də Dublikat Olmadan Təsadüfi Nömrələri Necə Yaratmaq olar (7 üsul)
Yadda saxlanmalı olanlar
- Biz də istifadə edə bilərik Unikal tam ədədlər yaratmaq üçün Int funksiyası əvəzinə funksiyasını düzəldin. funksiyası Int funksiyası kimi ədəd kəsr hissəsini silir.
Nəticə
İndi biz uyğun nümunələrin köməyi ilə Excel-də VBA-dan istifadə edərək unikal təsadüfi ədədlərin necə yaradılacağını bilirik. Ümid edirik ki, bu, funksionallıqdan daha inamlı istifadə etməyə kömək edəcək. Hər hansı bir sualınız və ya təklifiniz varsa, onları aşağıdakı şərh qutusuna yazmağı unutmayın.