أدناه سوف ننظر في برنامج في برنامج Excel VBA الذي - التي يكتب نطاق Excel إلى ملف نصي بتنسيق CSV (قيم مفصولة بفواصل) .
قارة:
تجميد الصف والعمود في إكسل
ضع زر الأوامر في ورقة العمل الخاصة بك وأضف أسطر التعليمات البرمجية التالية:
1. أولاً ، نعلن عن متغير يسمى myFile من النوع String ، وهو كائن يسمى rng من النوع Range ، ومتغير يسمى cellValue من النوع Variant ، ومتغير يسمى i من النوع Integer ، ومتغير يسمى j من النوع Integer. نستخدم متغير Variant هنا لأن المتغير Variant يمكنه الاحتفاظ بأي نوع من القيمة.
لا أحدملفيكما سلسلة، rngكماالنطاق ، قيمة الخليةكما متغير، أناكما عدد صحيح، يكما عدد صحيح
2. نحن بحاجة إلى تحديد المسار الكامل واسم الملف.
myFile = Application.DefaultFilePath & ' sales.csv'ملاحظة: تقوم خاصية DefaultFilePath بإرجاع مسار الملف الافتراضي. لتغيير موقع الملف الافتراضي ، في علامة التبويب ملف ، انقر فوق خيارات ، ثم حفظ.
3. نقوم بتهيئة نطاق الكائن rng بالنطاق المحدد.
يضعrng = اختيار4. أضف سطر الرمز التالي:
افتحملفيللإخراج كـ# 1ملاحظة: هذا البيان يسمح لكتابة الملف إليه. يمكننا الإشارة إلى الملف على أنه رقم 1 خلال بقية الكود الخاص بنا. إذا كان الملف موجودًا بالفعل ، فسيتم حذفه وسيتم إنشاء ملف جديد بالاسم نفسه.
كيفية حساب الانحراف المعياري في Excel 2010
5. ابدأ أ حلقة مزدوجة .
لأنا = 1إلىrng.Rows.Countلي = 1إلىrng.Columns.Count
ملاحظة: يُرجع rng.Rows.Count عدد الصفوف (17 في هذا المثال) ويُرجع rng.Columns.Count عدد الأعمدة (4 في هذا المثال).
6. يقوم Excel VBA بكتابة قيمة الخلية إلى قيمة الخلية المتغيرة.
cellValue = rng.Cells (i، j) .Value7. أضف أسطر التعليمات البرمجية التالية لكتابة قيمة cellValue إلى الملف النصي.
لوي = rng.Columns.Countثماكتب# 1 ، قيمة الخلية
آخر
اكتبرقم 1 ، قيمة الخلية ،
نهاية لو
تفسير: بسبب جملة If Then Else ، يبدأ Excel VBA سطرًا جديدًا فقط (اكتب # 1 ، قيمة الخلية) عندما يساوي j عدد الأعمدة (آخر قيمة في صف). لفصل القيم بفاصلة ، استخدم Write # 1، cellValue، (بفاصلة).
كيفية تغيير الوحدات في إكسل
8. لا تنس إغلاق كلتا الحلقتين.
التالييالتاليأنا
9. أغلق الملف.
قريب# 110. حدد البيانات وانقر فوق زر الأمر على الورقة.
نتيجة:
انتقل إلى الفصل التالي: عناصر تحكم ActiveX