Excel - ماكرو لنسخ الصفوف والأعمدة

القضية

أنا أعمل على ماكرو لنسخه من مصنف (ورقة) ولصقها في مصنف آخر (ورقة)

Office 2007 و Windows XP

في المصنف الأول ، لدي كل البيانات التي وفقا ل reqs. يتم تصفيته. كيفية معرفة ماكرو لنسخ سجلات "النتيجة"؟ تتغير سجلات النتائج دائمًا.

أقوم بتسجيل الماكرو باستخدام الخطوات التالية:

  • 1. فتح الإخراج. xlsx (المصنف الهدف)
  • 2. CTRL + A (لتحديد جميع البيانات الموجودة بالفعل) ومسح (الكل)
  • 3. مصنف المصدر (input.xlsm) نسخ سجلات النتائج
  • 4. لصق خاص في المصنف الهدف
  • 5. Souce مصنف وإيقاف تسجيل الماكرو

يعمل باقي الماكرو بشكل جيد ، المشكلة هي في كيفية تعيين نطاق سجلات النتائج التي يمكنك القول أنها ديناميكية.

يوجد أدناه الماكرو ، ولكن الكود الذي تم إنشاؤه تلقائيًا:

 ماكرو 1 () 'مصنفات ماكرو 21' 'ماكرو.' اسم الملف. فتح اسم الملف: = _ "O: dataorderrefList-output.xltx" _ ، قابل للتحرير: = True Selection.CurrentRegion.Select Selection.Clear Range ("A1"). حدد Windows ( "ReferenceList.xlsm"). قم بتنشيط التحديد. CurrentRegion.Select Selection.Copy Windows ("refList-output.xltx"). قم بتنشيط Selection.PasteSpecial Paste: = xlPasteColumnWidths، Operation: = xlNone، _ SkipBlanks: = False، Transpos: = False Selection.PasteSpecial Paste: = xlPasteFormats، Operation: = xlNone، _ SkipBlanks: = False، Transpos: = False Selection.PasteSpecial Paste: = xlPasteValues، Operation: = xlNone، SkipBlanks _: = False، Transpos: = False Range (" A1 "). حدد Application.CutCopyMode = False ActiveWorkbook.Save Windows (" ReferenceList.xlsm "). قم بتنشيط النطاق (" Table_Query_from_MS_Access_Database [#Headers، [Order No] "). حدد End Sub 

أنها تعمل بشكل جيد ولكن يجب أن أقوم بالاختيار بناءً على سجلات النتائج والتنسيقات الأخرى أيضًا.

حل

لقد جربت اقتراحي. عند تحديد MERELY ، يتضمن تحديد البيانات المصفاة الخلايا المخفية أيضًا (المخفية بسبب التصفية) بدلاً من ذلك ، يجب عليك استخدام خاصية "specialcells" كما اقترح لي. يمكنك تعديل على هذا الأساس.

هناك أيضًا شرط دون تنشيط الإطارات المختلفة أو تحديد النطاقات المختلفة.

لدي إعطاء بديل للجزء pastespecial من الماكرو الخاص بك

 ThisWorkbook.Worksheets ("sheet1"). UsedRange.SpecialCells (xlCellTypeVisible) .Copy Workbooks ("book4"). أوراق العمل ("sheet1"). النطاق ("A1"). PasteSpecial Paste: = xlPasteValues، Paste: = xlPasteColalWidths : = xlPasteFormats _ ، Paste: = xlPasteColumnWidths 

إذا كان الكتابان محفوظان في كتب ، فيجب استخدام "book4.xls" أو "book4.xlsm" "هذا المصنف يعني الوحدة النمطية للمصنف حيث يكون الماكرو متوقفًا ، ويمكنك محاولة تعديل الماكرو.

ملحوظة

بفضل venkat1926 لهذه النصيحة في المنتدى.

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

نصائح الأعلى