טווח VBA בשם כיצד ליצור ולהשתמש בטווחים בשם?

טווח בשם VBA של Excel

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

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

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

כיצד ליצור טווחים בעלי שם?

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

לדוגמא התבונן בתמונה למטה.

כדי להגיע לרווח בתא B4 יישמתי את הנוסחה B2 - B3.

זה הדבר הנפוץ שכולם עושים. אבל מה דעתך ליצור את השמות ולהחיל את הנוסחה משהו כמו "מכירות" - "עלות".

הצב סמן על התא B2> עבור לתיבה שם וקרא לו בשם מכירות.

הצב סמן על תא B3 וקרא לו עלות.

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

זה הדבר הבסיסי בטווחים עם שמות.

כיצד ליצור טווחים בעלי שם באמצעות קוד VBA?

דוגמה מס '1

האם אי פעם חשבת ליצור טווח בשם באמצעות קוד VBA?

בצע את השלבים הבאים כדי ליצור טווח בשם.

שלב 1: הגדר את המשתנה כ- "טווח".

קוד:

 Sub NamedRanges_Example () Dim Rng כטווח Sub Sub 

שלב 2: הגדר כעת את המשתנה "Rng" לתאים ספציפיים שאתה רוצה למנות.

קוד:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") Sub Sub 

שלב 3: שימוש בגישה לאובייקט "ThisWorkbook" בגישה לשמות.

יש לנו כל כך הרבה פרמטרים עם שיטת Names.Add . להלן ההסברים.

[שם]: השם אינו אלא מהו השם שנרצה לתת לטווח שאנו מציינים.

בזמן שמות לתא הוא לא אמור להכיל תווים מיוחדים פרט לסמל קו תחתון (_) והוא לא אמור להכיל גם תווי רווח, הוא לא אמור להתחיל בערכים מספריים.

[מתייחס]: אין זה אלא מהו טווח התאים אליו אנו מתייחסים.

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

שלב 4: בשם, הטיעון מזין את השם שאתה רוצה לתת. קראתי בשם "SalesNumbers".

קוד:

 Sub NamedRanges_Example () עמום Rng כטווח הגדר Rng = טווח ("A2: A7") ThisWorkbook.Names.Add שם: = "SalesNumbers" סוף משנה 

שלב 5: בוויכוח המתייחס להזן את טווח התאים שברצוננו ליצור. בשם המשתנה "Rng" כבר הקצנו את טווח התאים כ- A2 ל- A7, אז ספק את הארגומנט כ- "Rng".

קוד:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng Sub Sub 

אוקי, קוד זה ייצור טווח בשם לתאים מ A2 ל- A7.

כעת בגליון העבודה יצרתי כמה מספרים מ- A2 ל- A7.

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

קוד:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng Range ("A8"). Value = SheetFunction.Sum (Range ( "SalesNumbers")) סוף משנה 

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

אלה העובדות הבסיסיות שחובה לדעת על "טווחים בשם".

דוגמה מס '2

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

לדוגמא, בדוגמה שלעיל, שמנו את התא B2 כ- "מכירות" ו- B3 כ- "עלות" .

By using actual cell reference we refer to those cells like this.

Code:

 Sub NamedRanges() Range("B2").Select 'This will select the B2 cell Range("B3").Select 'This will select the B3 cell End Sub 

Since we already created these cells we can refer to using those names like the below.

Code:

 Sub NamedRanges() Range("Sales").Select 'This will select cell named as "Sales" i.e. B2 cell Range("Cost").Select 'This will select cell named as "Cost" i.e. B3 cell End Sub 

Like this using Named Ranges, we can make use of those cells. Using these named we can calculate the profit amount in cell B4. For this first name the cell B4 as Profit.

Now in the VBA editor apply this code.

Code:

 Sub NamedRanges_Example1() Range("Profit").Value = Range("Sales") - Range("Cost") End Sub 

This will calculate the profit amount in the cell named “Profit”.