כתוב נתונים לקובץ טקסט באמצעות Excel VBA - פקודות מאקרו קלות של Excel

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

להלן נבחן תוכנית ב Excel VBA זֶה כותב טווח Excel לקובץ טקסט CSV (ערך המופרד בפסיקים).

מַצָב:

מקם כפתור פקודה בגליון העבודה שלך והוסף את שורות הקוד הבאות:

1. ראשית, אנו מכריזים על משתנה הנקרא myFile מסוג String, אובייקט הנקרא rng מסוג Type, משתנה בשם cellValue מסוג Variant, משתנה בשם i מסוג מספר שלם, ומשתנה בשם j מסוג מסוג Integer. אנו משתמשים כאן במשתנה Variant מכיוון שמשתנה Variant יכול להחזיק כל סוג של ערך.

Dim myFile As String, rng As Range, cellValue as Variant, i As Integer, j As Integer

2. עלינו לציין את הנתיב המלא ואת שם הקובץ של הקובץ.

myFile = Application.DefaultFilePath ו- "\ sales.csv"

הערה: המאפיין DefaultFilePath מחזיר את נתיב ברירת המחדל של הקובץ. כדי לשנות את מיקום ברירת המחדל של הקובץ, בכרטיסיה קובץ, לחץ על אפשרויות, שמור.

3. אנו מאתחלים את אובייקט הטווח rng עם הטווח הנבחר.

הגדר rng = בחירה

4. הוסף את שורת הקוד הבאה:

פתח את myFile לפלט כמספר 1

הערה: הצהרה זו מאפשרת לכתוב את הקובץ. אנו יכולים להתייחס לקובץ כמספר 1 במהלך שאר הקוד שלנו. אם הקובץ כבר קיים, הוא יימחק ויווצר קובץ חדש בשם זהה.

5. התחל לולאה כפולה.

עבור i = 1 ל rng.Rows.Count
עבור j = 1 ל rng.Columns.Count

הערה: rng.Rows.Count מחזירה את מספר השורות (17 בדוגמה זו) ו- rng.Columns.Count מחזירה את מספר העמודות (4 בדוגמה זו).

6. Excel VBA כותב את ערך התא למשתנה cellValue.

cellValue = rng.Cells (i, j) .Value

7. הוסף את שורות הקוד הבאות כדי לכתוב את ערך cellValue לקובץ הטקסט.

אם j = rng.Columns.Count לאחר מכן
כתוב מספר 1, cellValue
אַחֵר
כתוב מספר 1, cellValue,
סוף אם

הסבר: בשל המשפט If Then Else, Excel VBA מתחיל רק שורה חדשה (כתוב מספר 1, cellValue) כאשר j שווה למספר העמודות (ערך אחרון בשורה). כדי להפריד את הערכים באמצעות פסיק, השתמש ב- Write #1, cellValue, (עם פסיק).

8. אל תשכח לסגור את שתי הלולאות.

 י הבא
הבא i

9. סגור את הקובץ.

סגור את מספר 1

10. בחר את הנתונים ולחץ על כפתור הפקודה בגיליון.

תוֹצָאָה:

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

wave wave wave wave wave