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

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

قام بنشر

بسم الله الرحمن الرحيم

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

علما بأن كلمة مرور الحماية هى ( 123 )

وشكرا لكم جميعا

Option Base 1

Sub Transfer_Data()
'
Dim Sh_Master As Worksheet
Dim Rng As Range
Dim Arr()
Application.ScreenUpdating = False
'======================================================================================
Set Sh_Master = Sheets("الرئيسية")
For Each Sh In Sheets
    If Sh.Name <> Sh_Master.Name Then
        Sh.Range("B7:H" & Rows.Count).ClearContents
    End If
Next
End_Row = Sh_Master.Cells(Rows.Count, "C").End(xlUp).Row
Set Rng = Sh_Master.Range("A6:N" & End_Row)
Arr = Rng
'======================================================================================
For Row = 2 To UBound(Arr)
    For Col = 7 To 12
        If Arr(Row, Col) = 1 Then
            ShName = Arr(1, Col)
            End_Row = Sheets(ShName).Cells(Rows.Count, "C").End(xlUp).Row + 1
            Set Rng = Range(Sh_Master.Cells(Row + 5, "B"), Sh_Master.Cells(Row + 5, "F"))
            Rng.Copy Sheets(ShName).Range("B" & End_Row)
            Sheets(ShName).Range("G" & End_Row) = Arr(1, Col)
            '==============================
            Sheets(ShName).Range("H" & End_Row) = Sh_Master.Cells(Row + 5, "N") - 1
            ' OR
            '            Sheets(ShName).Range("H" & End_Row) = "عنده مواد تالية"
            '==============================
        End If
    Next
Next
'======================================================================================
    Application.ScreenUpdating = True
'
End Sub
قام بنشر

أخي الكريم حاتم عيسى

يرجى دائماً إرفاق ملف للعمل عليه وتيسير تقديم المساعدة المطلوبة

عموماً جرب التعديل التالي عله يفي بالغرض

Sub Transfer_Data()
    Dim Sh_Master As Worksheet
    Dim Rng As Range
    Dim Arr()

    Application.ScreenUpdating = False
        Set Sh_Master = Sheets("الرئيسية")
    
        For Each sh In Sheets
            If sh.Name <> Sh_Master.Name Then
                sh.Unprotect 123
                sh.Range("B7:H" & Rows.Count).ClearContents
            End If
        Next sh
    
        End_Row = Sh_Master.Cells(Rows.Count, "C").End(xlUp).Row
        Set Rng = Sh_Master.Range("A6:N" & End_Row)
        Arr = Rng
    
        For Row = 2 To UBound(Arr)
            For Col = 7 To 12
                If Arr(Row, Col) = 1 Then
                    ShName = Arr(1, Col)
                    End_Row = Sheets(ShName).Cells(Rows.Count, "C").End(xlUp).Row + 1
                    Set Rng = Range(Sh_Master.Cells(Row + 5, "B"), Sh_Master.Cells(Row + 5, "F"))
                    Rng.Copy Sheets(ShName).Range("B" & End_Row)
                    Sheets(ShName).Range("G" & End_Row) = Arr(1, Col)
                    '==============================
                    Sheets(ShName).Range("H" & End_Row) = Sh_Master.Cells(Row + 5, "N") - 1
                    ' OR
                    '            Sheets(ShName).Range("H" & End_Row) = "عنده مواد تالية"
                    '==============================
                End If
            Next Col
        Next Row
    
        For Each sh In Sheets
            If sh.Name <> Sh_Master.Name Then
                sh.Protect 123
            End If
        Next sh
    Application.ScreenUpdating = True
    
    MsgBox "Done...", 64
End Sub

تقبل تحياتي

قام بنشر

أستاذي الفاضل المحترم الخلوق : ياسر خليل أبو البراء

تحيى طيبة من عند الله ... وبعد

مرفق لسيادتكم الملف للعمل عليه حيث أني جرب الكود ولكن ممكن أن يكون هناك خطأ مني عند التنفيذ فلا أدري ما الخطأ

أرجوا أن تتفضل بالمساعدة في حل هذا الخطأ .

ولسيادتكم جزيل الشكر والتقدير

 

الدور الثاني.rar

قام بنشر

أستاذي الفاضل المحترم الخلوق : ياسر خليل أبو البراء

بارك الله في حضرتك وزادك الله من فضله ونفعك بعلمك وجعل الله جميع أعمالك في موازين حسناتك

قام بنشر (معدل)

 

الاخ حاتم عيسى

انت هنا تعرض كودد الملف

Omar_2.rar

مع ملف اوراقة المعنية محمية

كان من الواجب عرض كود الملف

Omar_3.rar

لا يجوز هذا الخلط

وها هو كود الملف

Omar_3.rar

 

Option Base 1

Sub Transfer_Data()
'
Dim Sh_Master As Worksheet
Dim Rng As Range
Dim Arr()
Application.ScreenUpdating = False
'======================================================================================
UnProtect_Me
Set Sh_Master = Sheets("الرئيسية")
For Each Sh In Sheets
    If Sh.Name <> Sh_Master.Name Then
        Sh.Range("A7:H" & Rows.Count).ClearContents
    End If
Next
End_Row = Sh_Master.Cells(Rows.Count, "C").End(xlUp).Row
Set Rng = Sh_Master.Range("A6:N" & End_Row)
Arr = Rng
'======================================================================================
For Row = 2 To UBound(Arr)
    For Col = 7 To 12
        If Arr(Row, Col) = 1 Then
            ShName = Arr(1, Col)
            End_Row = Sheets(ShName).Cells(Rows.Count, "C").End(xlUp).Row + 1
            Set Rng = Range(Sh_Master.Cells(Row + 5, "A"), Sh_Master.Cells(Row + 5, "F"))
            Rng.Copy Sheets(ShName).Range("A" & End_Row)
            Sheets(ShName).Range("G" & End_Row) = Arr(1, Col)
            '==============================
            Sheets(ShName).Range("H" & End_Row) = Sh_Master.Cells(Row + 5, "N") - 1
            ' OR
            '            Sheets(ShName).Range("H" & End_Row) = "عنده مواد ثانية"
            '==============================
        End If
    Next
Next
'======================================================================================
Protect_Me
Application.ScreenUpdating = True
'
End Sub
Sub Protect_Me()
'
Dim Sh As Worksheet
'
Pass = "123"
For Each Sh In Sheets
    If Sh.Name <> ActiveSheet.Name Then
        Sh.Protect Password:=Pass
    End If
Next
'
End Sub


Sub UnProtect_Me()
'
Dim Sh As Worksheet
'
Pass = "123"
For Each Sh In Sheets
    Sh.Unprotect Password:=Pass
Next
'
End Sub


 

تم تعديل بواسطه عمر الحسيني

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