פונקצית חיפוש VBA | כיצד להשתמש בפונקציית Find VBA? (דוגמאות)

Excel VBA Find

כאשר אנו משתמשים ב- Find בגליון עבודה רגיל אנו לוחצים על קיצור המקשים CTRL + F ומקלידים את הנתונים שאנו צריכים למצוא ואם לא רוצים ערך אנו עוברים להתאמה הבאה, אם יש הרבה התאמות כאלה זו משימה מייגעת אבל כאשר אנו משתמשים ב- FIND ב- VBA זה מבצע את המשימות עבורנו ונותן לנו את ההתאמה המדויקת ונדרשים שלושה טיעונים, האחד הוא מה למצוא, היכן למצוא ואיפה להסתכל.

לפני שאנחנו עוברים ל- VBA ומתחילים להשתמש בפונקציית find במקרו, עלינו ללמוד קודם מהי פונקציית find ב- Excel. ב excel רגיל בכרטיסיה בית תחת קבוצת העריכה, אנו יכולים למצוא פונקציית חיפוש המשמשת למציאת מחרוזת או ערך בטווח תאים או בגליון עבודה שלם.

כאשר אנו לוחצים על זה, אנו מקבלים שתי אפשרויות;

אחד פשוט למצוא,

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

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

האפשרות השנייה ב- Excel היא חיפוש והחלפה המשמש כאשר אנו מוצאים מחרוזת אך מה להחליף אותה בכל ערך אחר,

מצא תחביר פונקציה

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

ביטוי. מצא (מה, תסתכל, ...)

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

ביטויים במקרו הם טווחים המוגדרים כמו טווח 1 או טווח 2. מהי מילת מפתח למה שאנחנו רוצים לחפש ערך ספציפי? Lookin היא מילת מפתח למה שאנחנו מנסים לחפש האם זו הערה או נוסחה או מחרוזת. באופן דומה, קיימות אילוצים אחרים בפונקציית Find אשר אופציונליות. שדה החובה היחיד הנדרש הוא מהו הערך אותו אנו מנסים לחפש.

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

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

דוגמאות

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

דוגמה מס '1

נניח שלנתונים שלנו יש את הערכים הבאים

ננסה למצוא את "ארן" באותם נתונים.

  • כדי לכתוב קוד VBA יש צורך לאפשר את הכרטיסייה למפתחים ב- Excel כדי להיות מסוגלים לכתוב קודי VBA.

  • אנו מתחילים לכתוב את הקוד שלנו על ידי כתיבת הקוד הבא כמוצג להלן,
מדגם משנה ()

עמום ממצאים כמחרוזת

עמום Rng כטווח

FindS = InputBox ("הזן את הערך שברצונך לחפש")

עם גיליונות ("Sheet1") .Range ("A: A")

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

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

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

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

  • לאחר השלמת הקוד הוא מחזיר את התא למקום בו נמצאו הנתונים.

דוגמה מס '2

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

אנו יכולים לראות כי השם ארן חוזר על עצמו פעמיים בנתונים שלעיל. אם Excel צריך למצוא את השם Aran הוא ימצא אותו בתא A2 ויעצור, אך יש ערך נוסף הדומה לזה של A2 בתא A6. איך להשיג את הערך הזה? כאן מגיע התחביר של מצא (מה, אחרי) בעזרה.

לאחר מגדיר את התא שאחריו הפניה אנו רוצים לחפש את הנתונים.

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

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

  • בעבר עבדנו על גיליון 1 כעת אנו עובדים בגיליון 2 אז בחר גיליון 2 עבור מודול אחר ודף ריק מופיע.

  • עכשיו התחל לכתוב את הקוד על ידי הגדרת הפונקציה תחילה כ SUB Sample2 () ולחץ על Enter.

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

  • הגדר מה צריך להיות למשתנה מצא,

  • בחר את הגיליונות שעליהם אנו עובדים גיליון 2 בדוגמה זו,

  • כעת אנו נמצא את הטקסט כל מה שהמשתמש יזין לאחר תא A2, ולכן אנו מגדירים את פונקציית המוצא שלנו להלן,

  • כעת אנו סוגרים את הקוד על ידי סיום התנאים עם ו- if.

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

דברים שיש לזכור

  1. ראשית דבר ראשון עלינו לאפשר את כרטיסיית המפתח בכדי להשתמש ב- VBA.
  2. מה הערך הספציפי שעלינו למצוא?
  3. אם הערך לא נמצא, מושא הפונקציה מוגדר לכלום.