ייבוא ​​גיליונות באמצעות Excel VBA - פקודות מאקרו קלות של Excel

תוכן העניינים

להלן נבחן תוכנית ב Excel VBA זֶה מייבא גיליונות מקבצי Excel אחרים לקובץ Excel אחד.

הורד את Book4.xlsx, Book5.xlsx והוסף אותם ל- "C: \ test \"

מַצָב:

הוסף את שורות הקוד הבאות ללחצן הפקודה:

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

Dim ספרייה כמחרוזת, שם קובץ כמחרוזת, גיליון כגיליון עבודה, סך של מספר שלם

2. כבה את עדכון המסך והצגת התראות.

Application.ScreenUpdating = שקר
Application.DisplayAlerts = שקר

3. אתחל את ספריית המשתנים. אנו משתמשים בפונקציית Dir כדי למצוא את *.xl הראשון *. קובץ המאוחסן בספרייה זו.

directory = "c: \ test \"
fileName = Dir (ספרייה & "*.xl ??")

הערה: פונקציית Dir תומכת בשימוש בתווים כלליים (*) ותווים בודדים (?) לחיפוש כל סוגי קבצי Excel שונים.

4. משתנה fileName מחזיק כעת את שם קובץ ה- Excel הראשון שנמצא בספרייה. הוסף Do While Loop.

עשה בעוד שם הקובץ ""
לוּלָאָה

הוסף את שורות הקוד הבאות (ב -5, 6, 7 ו -8) ללולאה.

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

חוברות עבודה פתוחות (ספרייה ושם קובץ)

6. ייבא את הגיליונות מקובץ האקסל לתוך import-sheet.xlsm.

עבור כל גיליון בחוברות עבודה (קובץ שם). גליונות עבודה
total = חוברות עבודה ("import-sheets.xlsm"). גליונות עבודה
חוברות עבודה (שם קובץ). גליונות עבודה (גיליון. שם). העתק _
אחרי: = חוברות עבודה ("import-sheets.xlsm"). גליונות עבודה (סה"כ)
הדף הבא

הסבר: סך המשתנים מחזיק מעקב אחר המספר הכולל של גליונות העבודה של import-sheet.xlsm. אנו משתמשים בשיטת העתק של אובייקט גליון העבודה כדי להעתיק כל גליון עבודה ולהדביק אותו לאחר גליון העבודה האחרון של import-sheets.xlsm.

7. סגור את קובץ האקסל.

חוברות עבודה (שם קובץ). סגור

8. פונקציית Dir היא פונקציה מיוחדת. כדי לקבל את קבצי Excel האחרים, תוכל להשתמש בפונקציית Dir שוב ללא ארגומנטים.

fileName = Dir ()

הערה: כאשר אין יותר שמות קבצים תואמים, הפונקציה Dir מחזירה מחרוזת באורך אפס (""). כתוצאה מכך, Excel VBA יעזוב את לולאת Do While.

9. הפעל את עדכון המסך והצגת התראות שוב (מחוץ ללולאה).

Application.ScreenUpdating = נכון
Application.DisplayAlerts = נכון

10. בדוק את התוכנית.

תוֹצָאָה:

תוכל לעזור בפיתוח האתר, שיתוף הדף עם החברים שלך

wave wave wave wave wave