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

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

قام بنشر

السلام عليكم

لقد قام الاخ الكريم  والمعلم الكبير ياسر خليل بعمل كود ترحيل ... يتم الترحيل على اساس اسم الشيت والذى مصدره الخليه A3

ولقد قمت بحمايه الشيتات التى يتم الترحيل اليها بكلمه سر 2191612

وعند تنفيذ الكود  ...... لا يتم الترحيل اذا ما كانت الشييتات محمية

ولقد حاولت .... الا ان المحاولات بائت بالفشل .... واظن لان كلمه 

ActiveSheet.Unprotec  يقد بها الشيت الذى اقف فيه ويتم تنفيذ الكود منه 

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

()Sub Transfer1
Application.ScreenUpdating = False
  On Error Resume Next
     "ActiveSheet.Unprotect "2191612
    Dim Cell As Range, T As String, LR As Long, LRT As Long
    Dim WS As Worksheet, Answer As Long
    
    Set WS = Sheets("1")
    LR = WS.Cells(35, 3).End(xlUp).Row
    T = WS.Range("A3").Value
    
    Application.ScreenUpdating = False
            If Not IsEmpty(WS.Range("c6")) Then
                Range("B6:G" & LR).Copy
                With Sheets(T)
                    LRT = .Cells(Rows.Count, 3).End(xlUp).Row + 1
                    .Cells(LRT, 2).PasteSpecial xlPasteValues
                End With
            
                Answer = MsgBox("تم ترحل البيانات .....هل تريد أن مسح البيانات المرحلة؟", vbYesNo + vbQuestion)
                If Answer = vbYes Then
                    Sheets("1").Activate
                    Sheets("1").Range("A3,C6:C35,F6:G35").Select
                    Selection.ClearContents
                    Else
      MsgBox "!! لم يتم الحذف"
                 End If
                Sheets("1").Select
    ActiveWindow.SmallScroll Down:=-12
    Range("A3,C6").Select
            Else
                MsgBox "الخلية المحددة فارغة لذا لن يتم تنفيذ الكود": Exit Sub
             End If
            Application.CutCopyMode = False
            Application.ScreenUpdating = True
            "ActiveSheet.Protect "2191612
End Sub
قام بنشر

جرب الكود بهذا الشكل

Sub Transfer()
    Application.ScreenUpdating = False
    On Error Resume Next
    Dim Cell As Range, T As String, LR As Long, LRT As Long
    Dim WS As Worksheet, Answer As Long

    Set WS = Sheets("1")
    LR = WS.Cells(35, 3).End(xlUp).Row
    T = WS.Range("A3").Value

    Application.ScreenUpdating = False
    WS.Unprotect "2191612"
        If Not IsEmpty(WS.Range("c6")) Then
            Range("B6:G" & LR).Copy
            With Sheets(T)
                .Unprotect "2191612"
                LRT = .Cells(Rows.Count, 3).End(xlUp).Row + 1
                .Cells(LRT, 2).PasteSpecial xlPasteValues
                Protect "2191612"
            End With
    
            Answer = MsgBox("تم ترحل البيانات .....هل تريد أن مسح البيانات المرحلة؟", vbYesNo + vbQuestion)
            If Answer = vbYes Then
                Sheets("1").Activate
                Sheets("1").Range("A3,C6:C35,F6:G35").Select
                Selection.ClearContents
            Else
                MsgBox "!! لم يتم الحذف"
            End If
            Sheets("1").Select
            ActiveWindow.SmallScroll Down:=-12
            Range("A3,C6").Select
        Else
            MsgBox "الخلية المحددة فارغة لذا لن يتم تنفيذ الكود": Exit Sub
        End If
    WS.Protect "2191612"
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

تقبل تحياتي

  • أفضل إجابة
قام بنشر

جرب الكود بهذا الشكل

Sub Transfer()
    Application.ScreenUpdating = False
    On Error Resume Next
    Dim Cell As Range, T As String, LR As Long, LRT As Long
    Dim WS As Worksheet, Answer As Long

    Set WS = Sheets("1")
    LR = WS.Cells(35, 3).End(xlUp).Row
    T = WS.Range("A3").Value

    Application.ScreenUpdating = False
    WS.Unprotect "2191612"
        If Not IsEmpty(WS.Range("c6")) Then
            With Sheets(T)
                .Unprotect "2191612"
                LRT = .Cells(Rows.Count, 3).End(xlUp).Row + 1
                
                WS.Range("B6:G" & LR).Copy
                .Cells(LRT, 2).PasteSpecial xlPasteValues
                .Protect "2191612"
            End With
    
            Answer = MsgBox("تم ترحل البيانات .....هل تريد أن مسح البيانات المرحلة؟", vbYesNo + vbQuestion)
            If Answer = vbYes Then
                Sheets("1").Activate
                Sheets("1").Range("A3,C6:C35,F6:G35").Select
                Selection.ClearContents
            Else
                MsgBox "!! لم يتم الحذف"
            End If
            Sheets("1").Select
            ActiveWindow.SmallScroll Down:=-12
            Range("A3,C6").Select
        Else
            MsgBox "الخلية المحددة فارغة لذا لن يتم تنفيذ الكود": Exit Sub
        End If
    WS.Protect "2191612"
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub
  • 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