اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

تعديل على كود ترحيل من صفحة الى عدة صفحات بإختيار الصفحة من القائمة المنسدلة


إذهب إلى أفضل إجابة Solved by سليم حاصبيا,

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

السلام عليكم احبائى الكرام -ارجو التكرم على مساعدتى فى تعديل هذا الكود الذى يقوم

 بالترحيل من هذه الصفحة Main الى الصفحة الموجودة بالقائمة المنسدلة فى الخلية C1
على ان يتم بعد نهاية كل ترحيل  اضافة مثل هذا السطر الأصفر الموجود به كلمة Total على ان يأخذ هذه القيمة من الخلية H3 الى الورقة المرحل اليها

وللعلم هذا الكود من اعمال استاذنا الكبير سليم حاصبيا وسع الله فى رزقه وزاده الله من فضله

Sub TransferToSpecificSheet2()
    Dim Cell As Range, t As String, LR As Long, LRT As Long
    Dim WS As Worksheet, Answer As Long, Bol As Boolean
        Set WS = Sheets("Main")
    LR = WS.Cells(1000, 3).End(xlUp).Row
    t = WS.Range("c1").Value
        Application.ScreenUpdating = False
      If Not IsEmpty(WS.Range("c1")) Then
   
      Bol = Evaluate("=ISREF(" & "'" & WS.Range("c1") & "'!A1)")

  If Not Bol Then
    Sheets.Add(, after:=Sheets(Sheets.Count)).Name = WS.Range("c1")
    WS.Range("A2:g" & LR).Copy
      With ActiveSheet
      .Range("a1").PasteSpecial (xlPasteValuesAndNumberFormats)
      .Range("a1").PasteSpecial (xlPasteColumnWidths)
      .Range("a1").PasteSpecial (xlPasteFormats)
      .DisplayRightToLeft = False
      End With
      WS.Select
     GoTo End_me
  End If
                WS.Range("A3:g" & LR).Copy
                With Sheets(t)
                    LRT = .Cells(Rows.Count, 3).End(xlUp).Row + 1
                      With .Cells(LRT, 1)
                      .PasteSpecial (xlPasteValuesAndNumberFormats)
                      .PasteSpecial (xlPasteColumnWidths)
                      .PasteSpecial (xlPasteFormats)
                      End With
                End With
     
    Answer = MsgBox("Do you want to Clear the data on Sheet1 or not?", vbYesNo + vbQuestion)
                If Answer = vbYes Then
                    Sheets("Main").Activate
                    Sheets("Main").Range("b3:d1000,f3:f1000").Select
                    Selection.ClearContents
                Else: End If
            Else
                    End If
End_me:
            Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

 

     

1.png

Supplier.xlsm

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

  • أفضل إجابة

جرب هذا الماكرو

Sub Transfer_with_total()
    Dim Cell As Range, t As String, LR As Long, LRT As Long
    Dim WS As Worksheet, Answer As Long, Bol As Boolean
    Dim Ro As Long
     Set WS = Sheets("Main")
    LR = WS.Cells(1000, 3).End(xlUp).Row
    t = WS.Range("c1").Value
        Application.ScreenUpdating = False
      If Not IsEmpty(WS.Range("c1")) Then
   
      Bol = Evaluate("=ISREF(" & "'" & WS.Range("c1") & "'!A1)")

  If Not Bol Then
    Sheets.Add(, after:=Sheets(Sheets.Count)).Name = WS.Range("c1")
    WS.Range("A2:g" & LR).Copy
      With ActiveSheet
      .Range("a1").PasteSpecial (xlPasteValuesAndNumberFormats)
      .Range("a1").PasteSpecial (xlPasteColumnWidths)
      .Range("a1").PasteSpecial (xlPasteFormats)
      .DisplayRightToLeft = False
      End With
      WS.Select
     GoTo End_me
  End If
                WS.Range("A3:g" & LR).Copy
                With Sheets(t)
                    LRT = .Cells(Rows.Count, 2).End(xlUp).Row + 1
                      With .Cells(LRT, 1)
                      .PasteSpecial (xlPasteValuesAndNumberFormats)
                      .PasteSpecial (xlPasteColumnWidths)
                      .PasteSpecial (xlPasteFormats)
                      End With
                      Ro = Application.CountA(.Range("c" & LRT).Resize(LR - 2))
                      .Cells(Ro + LRT, 2) = "Total"
                      .Cells(Ro + LRT, 2).Resize(, 3).HorizontalAlignment = 7
                      .Cells(Ro + LRT, 5) = WS.Range("h3")
                End With
     
    Answer = MsgBox("Do you want to Clear the data on Sheet1 or not?", vbYesNo + vbQuestion)
                If Answer = vbYes Then
                    Sheets("Main").Activate
                    Sheets("Main").Range("b3:d1000,f3:f1000").Select
                    Selection.ClearContents
                Else: End If
            Else
                    End If
End_me:
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

الملف مرفق

 

Supplier_new.xlsm

  • 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