Excel - ماكرو لنسخ البيانات من أوراق مختلفة

القضية

أحاول نسخ البيانات من أوراق مختلفة إلى ورقة رئيسية وفقًا للمعايير التالية

  • يجب إنشاء الورقة الرئيسية كلما قمت بتشغيل ماكرو يمحو الورقة الرئيسية السابقة.
  • جميع عناوين الأعمدة متطابقة.
  • بالنسبة للورقة الرئيسية ، يجب نسخ عنوان واحد فقط (أي لا ينبغي نسخ الصف الأول من الورقة الثانية.)
  • إذا ظهرت قيم صفرية في خلية معينة ، فلا ينبغي نسخ هذا الصف.
  • يجب فرز الورقة الرئيسية وفقًا للعمود الذي أذكره أثناء تشغيل الماكرو. (بمعنى ، سأخصص في مربع الرسالة الحقل / العمود الذي يجب فرزه في الورقة الرئيسية.)

حل

لديّ شك واحد في أنك تريد نسخ البيانات لجميع الأشهر إلى الصفحة الرئيسية أو لشهر بعد شهر. توليت كل الأشهر. في هذه الحالة حاول هذا الماكرو

 اختبار فرعي () خافت j طويل ، ك طويل ، r مثل النطاق j = أوراق العمل. عد باستخدام أوراق العمل ("master") عيّن r = النطاق (.Range ("A2") ، .Range ("A2"). End (xlDown)) r.EntireRow.Delete End With For k = 1 To j إذا كانت أوراق العمل (k) .Name = "master" ، ثم GoTo errorhandler With Worksheets (k) If .Range ("A2") = "" ثم GoTo errorhandler تعيين r = Range (.Range ("A2") ، .Range ("A2"). End (xlDown)) r.EntireRow.Copy أوراق العمل ("master"). خلايا (Rows.Count ، "A"). End (xlUp) .Offset (1، 0) .PasteSpecial End With errorhandler: Next k End Sub 

في ملفك لديك وحدات كثيرة فارغة. إزالة كل منهم باستثناء module1.

لاحظ أن

تم الحل بواسطة venkat1926

المقال السابق المقالة القادمة

نصائح الأعلى