VBA ופונקציה | כיצד להשתמש ב- AND Logical Operator ב- VBA?

Excel VBA ופונקציה

AND היא פונקציה לוגית כמו גם אופרטור לוגי שמשמעותו שאם כל התנאים הניתנים בפונקציה זו מתקיימים אז רק תהיה לנו התוצאה האמיתית ואילו אם אחד מהתנאים נכשל הפלט מוחזר להיות שקר, יש לנו שימוש בפקודה AND מובנה ב- VBA.

אני מקווה שעברתם את המאמר שלנו בנושא "VBA OR" ו- "VBA IF OR". פונקציה זו היא בדיוק ההפך מפונקציית OR. בפונקציה OR, היינו צריכים שכל אחד מהתנאים הלוגיים המסופקים יהיה מרוצה כדי לקבל את התוצאה כ- TRUE. אבל בתפקוד AND זה בדיוק ההפך. על מנת לקבל את התוצאה של TRUE, יש לספק את כל המבחנים ההגיוניים המסופקים ב- Excel.

אוקי, תסתכל על התחביר של AND פונקציה ב- Excel.

[מבחן לוגי] AND [מבחן לוגי] AND [מבחן לוגי]

באמור לעיל יש לי שני ציוני מבחן מתוך 600.

בעמודת התוצאה עלי לקבל את התוצאה כ- TRUE אם הציון של שתי המבחנים גדול משווה ל- 250.

התבונן בתמונה למטה.

כאשר אנו מיישמים את הפונקציה הלוגית וקיבלנו את התוצאות. בתא C4 & C5 קיבלנו את התוצאה כ- TRUE מכיוון שציוני מבחן 1 ומבחן 2 גדולים או שווים ל -250.

תסתכל על התא C6 כאן קיבלנו FALSE למרות שהציון של מבחן 2 שווה ל -250. הסיבה לכך היא שבמבחן 1 הציון הוא 179 בלבד.

דוגמאות לשימוש ב- VBA ובפונקציה

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

דוגמה מס '1

לדוגמא, נבדוק את המספרים כאן, האם 25> = 20 ו- 30 <= 31.

שלב 1: הכריז על המשתנה כמחרוזת.

קוד:

 תת AND_Example1 () דים K כמו משנה מחרוזת 

שלב 2: עבור המשתנה "k" נקצה את הערך על ידי הפעלת פונקציית AND.

קוד:

 תת AND_Example1 () עמום K כמחרוזת K = סוף סוף 

שלב 3: ספק את התנאי הראשון כ- 25> = 20.

קוד:

 משנה AND_Example1 () עמום K כמחרוזת K = 25> = 20 סוף משנה 

שלב 4: כעת פתח את פונקציית AND וספק את המבחן הלוגי השני כלומר 30 <= 29.

קוד:

 תת AND_Example1 () דים K כמחרוזת K = 25> = 20 ו 30 <= 29 סוף משנה 

שלב 5: כעת הראה את התוצאה של המשתנה "k" בתיבת ההודעות ב- VBA.

קוד:

 תת AND_Example1 () עמום K כמחרוזת K = 25> = 20 ו 30 <= 29 MsgBox K סוף משנה 

הפעל את המאקרו כדי לראות מה התוצאה.

קיבלנו את התוצאה כ- FALSE מכיוון שיצאנו להחיל שני תנאים תנאי ראשון 25> = 20, תנאי זה מתקיים אז התוצאה היא TRUE ותנאי שני 30 <= 29 זה לא תוצאה היא FALSE. על מנת לקבל את התוצאה כ- TRUE, שני התנאים צריכים להתקיים.

דוגמה מס '2

עכשיו אשנה את המבחן ההגיוני ל- "100> 95 AND 100 <200"

קוד:

 תת AND_Example2 () עמום k כמחרוזת k = 100> 95 ו 100 <200 MsgBox k סוף משנה 

הפעל את הקוד כדי לראות את התוצאה.

הנה קיבלנו TRUE כתוצאה מכיוון

מבחן לוגי ראשון: 100> 95 = TRUE

מבחן לוגי שני: 100 <200 = TRUE

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

דוגמה מס '3

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

כאן התנאי הוא ציון מבחן 1> = 250 וציון מבחן 2> = 250 .

מכיוון שיש לנו יותר מתא נתונים אחד עלינו להשתמש בלולאות כדי למנוע כתיבת שורות מיותרות וגוזלות זמן של קודים. כתבתי עבורך את הקוד שלהלן, הנוסחה וההגיוני הוא אותו הדבר היחיד שהשתמשתי ב- “VBA For Next Loop”.

קוד:

 תת AND_Example3 () עמום k כשלם עבור k = 2 עד 6 תאים (k, 3). ערך = תאים (k, 1)> = 250 ותאים (k, 2)> = 250 הבא k סוף משנה 

זה ייתן לתוצאה זהה לחלוטין לפונקציה של גליון העבודה שלנו, אך לא נקבל נוסחאות אלא רק תוצאות.

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

פעולה זו מנוגדת לחלוטין לתפקוד OR, כאשר OR דורש מכל אחד מהתנאים שסופקו להיות אמיתי כדי להגיע לתוצאות, אך AND דורש 100% תוצאה בבדיקה הגיונית כדי להגיע לתוצאות.