Excel VBA: შემთხვევითი რიცხვების გენერატორი დუბლიკატების გარეშე (4 მაგალითი)

  • გააზიარეთ ეს
Hugh West

Სარჩევი

ეს სტატია ასახავს შემთხვევითი რიცხვების გენერატორის 4 მაგალითს დუბლიკატების გარეშე Excel-ში VBA-ის გამოყენებით. აქ ჩვენ გამოვიყენებთ Excel-ის ჩაშენებულ Rnd ფუნქციას ჩვენი კოდის კონფიგურაციისთვის. მოდით ჩავუღრმავდეთ მაგალითებს, რომ ვისწავლოთ უნიკალური შემთხვევითი რიცხვების გენერირების ტექნიკა.

ჩამოტვირთეთ სავარჯიშო სამუშაო წიგნი

ჩამოტვირთეთ ეს სავარჯიშო სამუშაო წიგნი, რომ ივარჯიშოთ სანამ კითხულობთ ამ სტატიას.

შემთხვევითი რიცხვების გენერატორი დუბლიკატების გარეშე.xlsm

4 შემთხვევითი რიცხვების გენერატორი დუბლიკატების გარეშე Excel VBA-ში

კოდის ჩაწერა Visual Basic რედაქტორში

შემთხვევითი რიცხვების გენერირებისთვის დუბლიკატების გარეშე , ჩვენ უნდა გახსნათ და დავწეროთ VBA კოდი ვიზუალური ძირითადი რედაქტორში. მიჰყევით ნაბიჯებს გახსნით ვიზუალური ბაზისური რედაქტორის და დაწერეთ იქ რამდენიმე კოდი.

  • გადადით დეველოპერი ჩანართიდან Excel Ribbon .
  • დააწკაპუნეთ Visual Basic ოფციაზე.

  • Visual Basic აპლიკაციებისთვის ფანჯარაში დააწკაპუნეთ ჩამოსაშლელ მენიუში ჩასმა აირჩიოთ ახალი მოდული ვარიანტი.

ახლა ჩადეთ თქვენი კოდი ვიზუალური კოდის რედაქტორში და დააჭირეთ F5 გაუშვით ის.

1. VBA Rnd ფუნქციის გამოყენება დუბლიკატების გარეშე შემთხვევითი რიცხვის გენერირებისთვის

Rnd ფუნქცია გამოიყენება Excel VBA <1-ში>შექმენით შემთხვევითი რიცხვები რომლებიც 0-ს შორის არიან და 1 ექსკლუზიური.

ამოცანა : შექმენით 10 შემთხვევითი რიცხვი 0 და 1 შორის უჯრედებში A1:A10.

კოდი : ჩასვით შემდეგი კოდი ვიზუალური ძირითადი რედაქტორში და დააჭირეთ F5 გაშვება ის.

3852

გამომავალი : ზემოთ სკრინშოტი აჩვენებს 10 უნიკალურ შემთხვევით რიცხვს დიაპაზონში 0 და 1.

კოდის ახსნა:

ამ კოდში ჩვენ გამოვიყენეთ Rnd ფუნქცია <2 შემთხვევითი რიცხვების ჩასმა უჯრედების დიაპაზონში A1:A10 . a ახალი ნომრის ჩასმამდე, ჩვენ ვიყენებდით Do while Loop მოძებნეთ ნომრის -ში 1>უჯრედების წინასწარ განსაზღვრული დიაპაზონი (A1:A10) იქნება თუ არა ის უკვე თუ არა . რიცხვის არსებობის შემოწმებისთვის უჯრედების დიაპაზონში ყოველ ჯერზე, ჩვენ დავაკონფიგურირეთ კოდი COUNTIF ფუნქციით , ეს ფუნქცია ამოწმებს ახალ შემთხვევით რიცხვს სიაში უკვე არსებული ნომრების ჩასვლამდე.

დაწვრილებით : Excel-ის ფორმულა შემთხვევითი რიცხვის გენერირებისთვის (5 მაგალითი)

2. შემთხვევითი რიცხვების გენერატორი განსაზღვრული ქვედა და ზედა ზღვარისთვის დუბლიკატების გარეშე

შემთხვევითი რიცხვების გენერირება განსაზღვრულ დიაპაზონში , ჩვენ გვჭირდება დააყენეთ ქვედა საზღვარი და ზედა ჩვენს VBA კოდში. ინფორმაციისთვის, ქვედა ზღვარი არის ყველაზე დაბალი რიცხვი და ზედა არის უმაღლესი რიცხვი დიაპაზონში შემთხვევითი რიცხვების გენერატორისთვის. ჩვენ შეგვიძლია გამოვიყენოთ შემდეგი ფორმულა ჩვენს კოდში.

(ზედა – ქვედა ზღვარი + 1) * Rnd + ქვედა ბუნდი

2.1 შემთხვევითი რიცხვების გენერატორი- ათწილადი

ამოცანა : შექმენით 10 შემთხვევითი რიცხვი 10 და 20 შორის <1-ში>უჯრედები A1:A10.

კოდი : ჩასვით შემდეგი კოდი ვიზუალური ძირითადი რედაქტორში და დააჭირეთ F5 გაშვება ის.

9598

გამომავალი : ზემოთ მოცემული ეკრანის სურათი აჩვენებს 10 უნიკალურ შემთხვევით რიცხვს 1-ისა და 10-ის დიაპაზონში.

2.2 შემთხვევითი რიცხვების გენერატორი- მთელი რიცხვი

ამ ილუსტრაციაში ჩვენ გამოვიყენებთ VBA Int ფუნქცია ამოშალოს ფრაქციული ნაწილი შემთხვევითი რიცხვებიდან .

ამოცანა : შექმენით 20 შემთხვევითი მთელი რიცხვი 1 და 20 შორის უჯრედებში A1:B10.

კოდი : ჩასვით შემდეგი კოდი ვიზუალური ძირითადი რედაქტორში და დააჭირეთ F5 გაშვება ის.

1485

გამომავალი : ზემოთ მოცემული ეკრანის სურათი აჩვენებს 20 უნიკალურ შემთხვევით რიცხვს დიაპაზონში 1 და 20.

დაწვრილებით: შემთხვევითი რიცხვების გენერატორი Excel-ში გამეორების გარეშე (9 მეთოდი)

მსგავსი წაკითხვები

  • შემთხვევითი რიცხვების გენერატორი მონაცემთა ანალიზის ხელსაწყოთი და ფუნქციები Excel-ში
  • როგორ შემთხვევითი მონაცემების გენერირება Excel-ში (9მარტივი მეთოდები)
  • შემთხვევითი 5 ციფრიანი რიცხვების გენერატორი Excel-ში (7 მაგალითი)
  • შემთხვევითი 4 ციფრიანი რიცხვების გენერატორი Excel-ში (8 მაგალითი)
  • შექმენით შემთხვევითი რიცხვი სიიდან Excel-ში (4 გზა)

3. მიუთითეთ ათწილადი ადგილები უნიკალური შემთხვევითი რიცხვების გენერატორისთვის Excel VBA-ში

ჩვენ შეგვიძლია გამოვიყენოთ მრგვალი ფუნქცია ჩვენს კოდში დასანიშნად ათწილადი ადგილების რიცხვი შემთხვევით გენერირებულ უნიკალურ რიცხვებში . ფუნქციის სინტაქსი არის-

მრგვალი (გამოხატვა, [რიცხვობრივი ადგილები])

ჩვენ უნდა მივნიშნოთ მეორე არგუმენტი ჩვენი მოთხოვნის მიხედვით .

ამოცანა : შექმენით 20 შემთხვევითი რიცხვი 2 ათწილადით <1-ს შორის>1 და 20 უჯრედებში A1:B10.

კოდი : ჩასვით შემდეგი კოდი ვიზუალური ძირითადი რედაქტორში და დააჭირეთ F5 გაშვება ის.

3330

გამომავალი : ზემოთ მოცემული ეკრანის სურათი აჩვენებს 20 უნიკალურ შემთხვევით რიცხვს 2 ათობითი ადგილი დიაპაზონში 1 და 20.

დაწვრილებით: შემთხვევითი ნომრის გენერირება Excel-ში ათწილადებით (3 მეთოდი)

4. შექმენით მომხმარებლის ფორმა შემთხვევითი რიცხვების გენერატორისთვის დუბლიკატების გარეშე Excel VBA-ში

ამ ილუსტრაციაში ჩვენ გაჩვენებთ, თუ როგორ გამოვიყენოთ UserForm <1-ში>Excel VBA შემთხვევითი რიცხვების გენერირებისთვის დუბლიკატების გარეშე .

ამოცანა: გენერირება20 შემთხვევითი რიცხვი უჯრედების დიაპაზონში A1:B10 UserForm შეყვანილი მნიშვნელობებით (i) ქვედა ზღვარი (ii) ზედა (iii) ათწილადების რაოდენობა.

შექმენით მომხმარებლის ფორმა:

მიჰყევით ქვემოთ მოცემულ ნაბიჯებს, რათა შექმნათ UserForm ჩვენი სასურველი შეყვანის ველებით .

  • გადადით Developer ჩანართზე Excel Ribbon .
  • დააწკაპუნეთ Visual ძირითადი ვარიანტი.

  • Visual Basic აპლიკაციებისთვის ფანჯარაში დააწკაპუნეთ ჩამოსაშლელ მენიუში ჩასმა აირჩიეთ UserForm ოპცია.

  • UserForm-ში დაამატეთ ლეიბლი .
  • მინიშნება ლეიბლი როგორც LowerBound თვისებებში.

  • დაამატეთ ორი მეტი ლეიბლი სახელით Upperbund და DecimalPlaces .

  • ახლა დაამატეთ სამი ტექსტური ყუთი მომხმარებლის ფორმაში .

  • ამ ეტაპზე, დაამატეთ a CommandButton და დაარქვით Generate .

  • ახლა, ორჯერ დააწკაპუნეთ CommandButton და ჩადეთ შემდეგი კოდი კოდების რედაქტორში .
6234

  • დააჭირეთ F5 გაუშვით კოდი და მომხმარებლის ფორმა გამოჩნდა .
  • ჩადეთ ქვედა ზღვარი , ზედა, და ნომერი ათწილადი ადგილებიდან მომხმარებლის ფორმაში და დააჭირეთ გენერაციასღილაკი .

გამომავალი : უჯრედებში A1:B10 არის 20 შემთხვევითი რიცხვები 2 ათობითი ნომრით 1-დან 30-მდე დიაპაზონში.

დაწვრილებით: როგორ შევქმნათ შემთხვევითი რიცხვები დუბლიკატების გარეშე Excel-ში (7 გზა)

რაც უნდა გვახსოვდეს

  • ჩვენ ასევე შეგვიძლია გამოვიყენოთ გაასწორეთ ფუნქცია Int ფუნქციის ნაცვლად უნიკალური მთელი რიცხვების გენერირებისთვის . ფუნქცია აშორებს ფრაქციულ ნაწილს რიცხვი ისევე როგორც Int ფუნქცია .

დასკვნა

ახლა, ჩვენ ვიცით, როგორ გამოვამუშაოთ უნიკალური შემთხვევითი რიცხვები VBA-ს გამოყენებით Excel-ში შესაბამისი მაგალითების დახმარებით. იმედია, ეს დაგეხმარებათ ფუნქციონირების უფრო თავდაჯერებულად გამოყენებაში. ნებისმიერი შეკითხვა ან შემოთავაზება არ დაგავიწყდეთ მათი განთავსება კომენტარების ველში ქვემოთ.

ჰიუ ვესტი არის Excel-ის ძალიან გამოცდილი ტრენერი და ანალიტიკოსი, რომელსაც აქვს 10 წელზე მეტი გამოცდილება ინდუსტრიაში. მას აქვს ბაკალავრის ხარისხი ბუღალტერიასა და ფინანსებში და მაგისტრის ხარისხი ბიზნესის ადმინისტრირებაში. ჰიუს აქვს სწავლების გატაცება და შეიმუშავა სწავლების უნიკალური მიდგომა, რომელიც ადვილად გასაგები და გასაგებია. მისი ექსპერტი Excel-ის ცოდნა დაეხმარა ათასობით სტუდენტს და პროფესიონალს მთელს მსოფლიოში, გაეუმჯობესებინათ თავიანთი უნარები და გამოირჩეოდნენ თავიანთ კარიერაში. თავისი ბლოგის საშუალებით, ჰიუ უზიარებს თავის ცოდნას მსოფლიოს, სთავაზობს უფასო Excel გაკვეთილებს და ონლაინ ტრენინგებს, რათა დაეხმაროს ინდივიდებსა და ბიზნესს თავიანთი პოტენციალის სრულად მიღწევაში.