מידע שימושי בשורת המצב

מישהו אוהב, אבל אני אישית צריך שורת סטטוס רק ב-2-3 מקרים:

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

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

עקרונות כלליים לניהול שורת המצב

ניהול שורת המצב עם Visual Basic הוא קל מאוד. כדי להציג את הטקסט שלך בו, אתה יכול להשתמש במאקרו פשוט:

Sub MyStatus() Application.StatusBar = "Привет!" סיום משנה  

לאחר הפעלתו, אנו מקבלים:

מידע שימושי בשורת המצב

כדי לשחזר את המצב המקורי של שורת המצב, תזדקק לאותו "אנטי מאקרו" קצר:

Sub MyStatus_Off() Application.StatusBar = Sub False End  

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

כתובת הטווח שנבחר בשורת המצב

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

מידע שימושי בשורת המצב

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

פתח את עורך Visual Basic באמצעות הכפתור בעל אותו שם בכרטיסייה מפתחים (מפתח) או קיצורי מקשים שמאל Alt+F11. מצא את הספר שלך בפינה השמאלית העליונה של חלונית הפרויקט ופתח את המודול שבו על ידי לחיצה כפולה הספר הזה (חוברת עבודה זו):

בחלון שנפתח, העתק והדבק את קוד המאקרו הבא:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub  

כעת, כאשר נבחר טווח כלשהו (כולל יותר מאחד!), הכתובת שלו תוצג בשורת המצב:

מידע שימושי בשורת המצב

כדי למנוע את מיזוג הכתובות של מספר טווחים שנבחרו באמצעות Ctrl, ניתן להוסיף שיפור קטן - השתמש בפונקציה Replace כדי להחליף פסיק בפסיק ברווח:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub  

מספר התאים שנבחרו בשורת המצב

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

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) עמעום CellCount בתור Variant, rng As Range For Every rng In Selection.Areas 'חזור על כל הבחירות RowsCount = rng.Rows.Count 'מספר שורות ColumnsCount = rng.Columns . ספירת 'מספר העמודות CellCount = CellCount + RowsCount * ColumnsCount 'צבור את המספר הכולל של התאים הבא 'הצג בשורת המצב Application.StatusBar = "נבחר: " & CellCount & " תאים" End Sub  

מאקרו זה עובר בלולאה בכל האזורים שנבחרו ב-Ctrl (אם יש יותר מאחד), מאחסן את מספר השורות והעמודות בכל אזור במשתנים RowsCount ו- ColumnsCount, וצובר את מספר התאים במשתנה CellCount, אשר מוצג לאחר מכן. בשורת המצב. בעבודה זה ייראה כך:

מידע שימושי בשורת המצב

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

Application.StatusBar = "נבחר: " & Replace(Selection.Address(0, 0), ",", ", ") & " - סך הכל " & CellCount & " cells"  

אז התמונה תהיה די נפלאה:

מידע שימושי בשורת המצב

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

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

השאירו תגובה