איך להתמקם בגיליון באמצעות מאקרו VBA
שלום וברכה,
בשיעור הזה נלמד על פקודות VBA שבאמצעותן אפשר להגיע למקומות חשובים בתוך הגיליון.
אני אציג כל פקודה, עם הסבר קצר ואתן דוגמה רלוונטית, כך שהלימוד יהיה קל.
את השיעור הזה אין צורך לקרוא בצורה רציפה, אלא אפשר לקפוץ מייד לחלק שרלוונטי עבורכם במאקרו שאתם כותבים כרגע.
להתמקם בתא ספציפי באקסל (לפי כתובת התא)
פקודת ה-VBA הבאה מאפשר להתמקם בתא ספציפי. תחליפו את הכתובת A1 בכתובת של התא הרלוונטי שאליו תרצו שהמאקרו יגיע.
Application.Goto Range(“a1”)
להגיע לתא האחרון \ הראשון בעמודה
כדי לרדת עד לתא האחרון בעמודה, נשתמש בפקודה הבאה :
Selection.End(xlDown).select
ובצורה דומה כדי להגיע לתא הראשון בעמודה, נשתמש ב :
selection.end(xlUp).select
טיפ קטן - שילוב של כמה פקודות יחד
פעמים רבות, אנשים מראים לי מאקרויים שכתבו, מאקרויים יפים שמייעלים מאוד את העבודה, ואחת העיצות שאני נותן כדי לייעל את המאקרו, היא לשלב כמה פקודות יחד.
לדוגמא, אם הבאתם את המאקרו לעמוד בתא בעמודה C, ועכשיו אתם רוצים שהוא יקפוץ לתא האחרון בעמודה B, אין צורך להביא אותו קודם כל אל עמודה B, אלא אפשר לכתוב בבת אחת את הקפיצה לתא החדש, ומייד אחריה את הקפיצה למטה, לתחתית העמודה.
Range("B4").End(xlDown).Select
הוספת שורה חדשה באמצעות VBA
אם אנחנו לא רוצים את השורה האחרונה, אלא אנחנו מעוניינים בשורה אחרי השורה האחרונה, כלומר אנחנו רוצים להוסיף שורה .
לצורך כך נשתמש בטריק קטן :
Range("A1").End(xlDown).Offset(1, 0).Select
הסבר הנוסחא :
- החלק הראשון - ממקם אותנו בתא A1
- אחריו החלק של End(xlDown , ממקם אותנו בשורה האחרונה בטבלה.
- לאחר מכן החלק של Offset - יורד שורה אחת למטה (המשמעות של Offset היא הזחה = תזוזה ביחס למקום בו אני נמצא ).
- והחלק האחרון, Select - בוחר את התא הזה בפועל
תזוזה לסוף השורה
באותה דרך אפשר לקפוץ לסוף השורה. למשל הפקודה הבאה תיקח אותנו ימינה לגמרי.
Range("B4").End(xlToRight).Select
מעבר בין גיליונות
כדי לעבור בין גיליונות, צריך להפוך את הגיליון שאליו רוצים לעבור לגיליון פעיל, ורק אחרי שהופכים אותו לפעיל, אז אפשר לבחור תאים בו.
בפקודה הבאה אנחנו הופכים את הגיליון Sheet1 לפעיל.
Worksheets(“Sheet1”).Activate
באמצעות הפקודות שהצגתי, תוכלו לכתוב מאקרו שימקם אתכם בכל מקום שתרצו בגיליון אקסל.
בהצלחה !