VBA אקראי | כיצד להשתמש בהצהרה אקראית?

הצהרה אקראית ב- VBA

משפט VBA אקראי הוא משפט פשוט של קו אחד שאנו מוסיפים לפני החלת הפונקציה RND. בכל פעם שנפתח חוברת עבודה הצהרה אקראית מספקת מספר זרע חדש לפונקציית RND בהתאם לזמן המערכת של המחשב.

לפני שאדבר על הצהרת ה- Randomize הרשו לי להציג בפניכם פונקציית RND פשוטה עם VBA.

כפונקציה של גליון עבודה "RAND", גם ב- VBA "RND" ייצור מספרים אקראיים הגדולים מ- 0 אך פחות מ- 1.

עכשיו תסתכל על התחביר של פונקציית "RND".

[מספר]: נוכל להעביר את הטיעון בשלוש דרכים.

  • אם אנו מעבירים את המספר כ- <0, הוא ממשיך ליצור את אותו מספר אקראי בכל פעם.
  • אם נעביר את המספר כ- 0, הוא יחזור על המספר האחרון שנתן.
  • אם נעביר את המספר> 0, זה ממשיך לתת לך מספרים אקראיים שונים כלומר המספר האקראי הבא ברצף.

דוגמא

לדוגמא עיין בקוד שלהלן.

קוד:

 תת RND_ דוגמה () איתור באגים. הדפס משנה סוף סוף 

כשאני מריץ את הקוד בחלון המיידי אני יכול לראות את המספר למטה.

באופן דומה, כשאני מבצע קוד זה שלוש פעמים נוספות אני יכול לראות את המספרים הבאים.

כעת אסגור את חוברת העבודה ואפתח אותה מחדש.

עכשיו אחזור לחלון העורך הבסיסי החזותי.

כעת החלון המיידי ריק ונקי.

עכשיו שוב אבצע את הקוד ארבע פעמים ואראה מה המספרים שנקבל בחלון המיידי.

קיבלנו את אותם המספרים שקיבלנו למעלה.

זה לא נראה כמו מספר אקראי מכיוון שבכל פעם שאנחנו פותחים את הקובץ מחדש אנו נוטים לקבל את אותם המספרים החל מאפס.

אם כך, כיצד ניצור מספרים אקראיים ללא קשר לשאלה האם חוברת העבודה נפתחה מחדש או לא?

עלינו להשתמש בהצהרה "אקראי".

כיצד להשתמש בהצהרה אקראית של VBA?

אתה יכול להוריד תבנית VBA אקראית זו של VBA כאן - תבנית VBA אקראית של Excel

דוגמה מס '1

כדי לקבל מספרים אקראיים כל שעלינו לעשות הוא להוסיף את קו השורה הפשוט "אקראי" לפני הפונקציה RND.

קוד:

 Sub Randomize_1 () Randomize Debug.Print Subnd End End 

עכשיו אני אפעיל את הקוד 4 פעמים ואראה מה אני מקבל.

זה יצר את המספרים לעיל בחלון המקומי שלי.

כעת אסגור את הקובץ ואפתח שוב את הקובץ.

כרגיל, אנו מתחילים עם לוח נקי בחלון הבסיסי הוויזואלי.

עכשיו שוב אבצע את הקוד ואראה אילו מספרים נקבל הפעם.

וואו!!! הפעם קיבלנו מספרים שונים.

מכיוון שהוספנו את המשפט אקראי לפני הפונקציה RND אנו מקבלים מספרים אקראיים שונים בכל פעם שאנחנו פותחים את הקובץ מחדש.

זה נראה כמו מספר אקראי לא ???

דוגמה מס '2

מספרים אקראיים גדולים מאחד

כפי שראינו פונקציית "RND" יכולה ליצור מספרים מ 0 ל 1 בלבד. אך על מנת ליצור מספרים הגדולים ממספר אקראי אחד עלינו להשתמש ב- "RANDOM BETWEEN" אשר זמין עם מחלקת פונקציות בגליון העבודה.

לכן, כדי ליצור מספרים אקראיים הגדולים מאחד עלינו להשתמש בקוד שלהלן.

קוד:

 Sub Randomize_2 () Randomize Debug.Print Rnd * 100 End Sub 

עכשיו אני יבצע את הקוד ואראה מה נקבל.

ככה, אנו יכולים להשתמש במשפט "אקראי" ב- VBA כדי ליצור מספרים אקראיים בכל פעם שנפתח את קובץ ה- Excel מחדש.