VBA Transpos (שלב אחר שלב) | שתי השיטות המובילות לשינוי ב- VBA

ראינו את פונקציית השינוי בגליון העבודה של Excel כאשר אנו מדביקים טבלת נתונים כלשהי בגליון העבודה, מה שהשינוי עושה הוא שהיא משנה את המיקום של שורות ועמודות כלומר שורות הופכות לעמודות ועמודות הופכות לשורות בטבלת נתונים, מכיוון שמדובר בגיליון עבודה פונקציה ב- VBA אנו משתמשים בה בשיטת Application.worksheet ב- VBA.

איך לשנע ב- VBA?

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

אנו יכולים להעביר ב- VBA בשתי שיטות.

  1. שינו באמצעות נוסחת TRANSPOSE.
  2. לשנע באמצעות הדבקה בשיטה מיוחדת.

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

בואו נראה כמה דוגמאות לשינוי העמודה לשורה ב- VBA.

מס '1 - שינויי VBA באמצעות נוסחת TRANSPOSE

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

לדוגמא, עיין בתמונת הנתונים שלמטה.

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

שלב 1: התחל את הליך המשנה

קוד:

 תת Transpose_Example1 () סוף משנה 

שלב 2: ראשית עלינו להחליט לאן אנו הולכים להעביר את הנתונים. בכך בחרתי להעביר תאים D1 ל- H2. לכן, הזן את קוד ה- VBA כטווח ("D1: H2"). ערך =

קוד:

 טווח Trans Transpose_Example1 () ("D1: H2"). ערך = סוף משנה 

שלב 3: כעת בטווח הנ"ל אנו זקוקים לערך של טווח A1 עד B5. כדי להגיע לשיעור פתוח זה "פונקציית גליון עבודה" ולבחור את הנוסחה "Transpose".

שלב 4: ב- Arg 1 ספק את טווח מקור הנתונים כלומר טווח ("A1: D5") .

קוד:

 תת Transpose_Example1 () טווח ("D1: H2"). ערך = SheetFunction. Transpose (טווח ("A1: D5")) סוף משנה 

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

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

מס '2 - שינויי VBA באמצעות הדבקת שיטה מיוחדת

אנו יכולים גם להעביר באמצעות שיטת Paste Special. שקול את אותם נתונים גם עבור דוגמה זו.

הדבר הראשון שעלינו לעשות כדי להעביר אותו הוא להעתיק את הנתונים. אז כתוב את הקוד כטווח ("A1: B5"). העתק

קוד:

 טווח Trans Transpose_Example2 () ("A1: B5"). העתק משנה משנה 

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

קוד:

תת Transpose_Example2 () טווח ("A1: B5"). טווח העתקה ("D1"). סיום משנה

לאחר שנבחר תא היעד הרצוי עלינו לבחור "הדבק שיטה מיוחדת".

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

התעלם מכל הפרמטרים ובחר בפרמטר האחרון כלומר Transpose והפוך אותו ל- TRUE.

קוד:

 טווח Transpose_Example2 () תת ("A1: B5"). טווח העתקה ("D1"). PasteSpecial Transpose: = True End Sub 

זה גם ישדר את הנתונים כמו השיטה הקודמת.

כך, אנו יכולים להשתמש בנוסחת TRANSPOSE או בשיטת Paste Special כדי להעביר את הנתונים כדי להחליף שורות לעמודות ועמודות לשורות.

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

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

אתה יכול להוריד תבנית Excel זו של Transposition VBA מכאן - VBA Transpose תבנית Excel