اذهب الي المحتوي
أوفيسنا

نسخ التنسيقات


إذهب إلى أفضل إجابة Solved by ياسر خليل أبو البراء,

الردود الموصى بها

هذا ملف بسيط  وبه كود مفيد

ولكني اريد ان يتم اثناء التسطير ياخذ جميع التنسيقات

الموجوده بالخلايا ذات اللون الاحمر

الى كل الصفوف

جزاكم الله خيرا

 

استدعاء اعمد معينه لاعمده اخرى معينه.rar

رابط هذا التعليق
شارك

السلام عليكم أخي العزيز ناصر

قم بتسجيل ماكرو بالخطوات المطلوب لتنسيق الخلايا وستحصل على الكود .. الكود فكرته بسيطة عبارة عن نسخ ثم لصق خاص ثم تختار التنسيقات من الخيارات المتاحة

تقبل الله منا ومنكم صالح الأعمال

رابط هذا التعليق
شارك

  • أفضل إجابة

001.png.389d41c6358a3a3ff2bd5fb60024ed96.png002.png.d81b881dd0b02dbf5d49fca0ab9e332e.png003.png.9dfe4c49b22f971c96a6231acae39d34.png004.png.eefeac2c4d5204b4608bcc54465dcc1d.png005.png.b9ed360ef43e5d03b9ccf346738cb4da.png006.png.ba01800aeefa6ecb76c9d18ef15c6cb9.png007.png.35f7631d06ee35503cbf8dd3ca5369a3.png

 

 

ولمن يريد الصورة مجمعة في ملف واحد يمكن تحميله من الرابط التالي 

من هنا

  • Like 1
رابط هذا التعليق
شارك

للنطاق المتغير يمكن الاعتماد على رقم آخر صف به بيانات وقد تناولت طريقة الحصول على رقم آخر صف به بيانات في الفيديو التالي

 

رابط هذا التعليق
شارك


'===========================
'هذا الكود للمحترم النابغه ياسر خليل
'الهدف من الكود هو استدعاء بشرط
'تم هذا الكود في 15/2/2017
    Sub استدعاء()
    Dim arr     As Variant
    Dim temp    As Variant
    Dim cr      As Variant
    Dim lr      As Long
    Dim i       As Long
    Dim j       As Long
    Dim c       As Long
    Dim ws As Worksheet
    Dim sh As Worksheet
    Set ws = Sheets("Sheet1")
    Set sh = Sheets("Sheet2")
    '= = = = = = = = = = = =
    ' شيت الهدف والمدى المطلوب مسحه
    sh.Range("B7:AJ10000").ClearContents
    
        ' اسم ورقة المصدر
    lr = ws.Cells(Rows.Count, 1).End(xlUp).Row
    
            'متغير اسم ورقة المصدرومدى البيانات بها
    arr = ws.Range("A7:EF" & lr).Value
    
    ReDim temp(1 To UBound(arr, 1), 1 To UBound(arr, 2))
    
    'ارقام الاعمده المطلوب نقلها
    cr = Array(2, 3, 7, 8, 9, 11, 12, 24, 25, 35, 36, 46, 47, 57, 58, 72, 73)
    j = 1

    For i = LBound(arr, 1) To UBound(arr, 1)
    
   ' المعيار او الشرط الذي نبحث به ورقم عمود المعيار
        If arr(i, 135) Like "*" & "نا*" & "*" Then
            temp(j, 1) = j
            For c = LBound(cr) To UBound(cr)
                temp(j, c + 2) = arr(i, cr(c))
            Next c
            j = j + 1
        End If
    Next i
    
    ' اسم شيت الهدف
    With sh
    
        .Range("B7").Resize(j - 1, UBound(temp, 2)).Value = temp
        
        'سطر لمسح التسطير
        .Range("B7:AJ" & Rows.Count).Borders.Value = 0
        
        'سطر لاضافة التسطير
        .Range("B7:AJ" & .Cells(Rows.Count, 2).End(xlUp).Row).Borders.Value = 1
        PasteSpecial Paste:=xlPasteFormats
       
    End With
End Sub

لماذا لاتعمل مع اضافه نسخ التنسيقات ؟

جزاكم الله خيرا

رابط هذا التعليق
شارك

أين الجزء الذي فيه نسخ التنسيق .. يفترض أنك تريد نسخ التنسيق من نطاق أو خلايا محددة باستخدام الأمر Copy أين هو في الكود؟

ثم إن السطر التالي غير منطقي إذ لابد من الإشارة لنطاق محدد للصق التنسيقات فيه .. راجع شرح الصورة مرة أخرى

PasteSpecial Paste:=xlPasteFormats

 

  • Like 1
رابط هذا التعليق
شارك

        'سطر لاضافة التسطير
        .Range("B7:AJ" & .Cells(Rows.Count, 2).End(xlUp).Row).Borders.Value = 1


        Range("B7:AJ7").Copy
       .Range("B7:AJ" & .Cells(Rows.Count, 2).End(xlUp).Row).PasteSpecial Paste:=xlPasteFormats
            Application.CutCopyMode = False
    Range("F7").Select

تمام شكرا على تسلسل الشرح لكم حتى الافاده

تمت بنجاح وتظهر اثناء النسخ شاشه زرقاء سريعه ... هل يمكن ازاله هذه الشاشه بامر برمجي

رابط هذا التعليق
شارك

لربما بسبب اهتزاز الشاشة وهنا يمكن استخدام السطر التالي في بداية الكود بعد الإعلان عن المتغيرات

Application.ScreenUpdating=False

وفي نهاية الكود نفس السطر مع تغيير القيمة False إلى True

  • Like 1
رابط هذا التعليق
شارك

بارك الله فيك أخي العزيز ناصر وجزيت خيراً على دعائك الطيب .. والحمد لله الذي بنعمته تتم الصالحات

  • Like 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information