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

ترحيل بيانات


إذهب إلى أفضل إجابة Solved by محي الدين ابو البشر,

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

السلام عليكم
بحثت داخل المنتدى ولم اجد موضوع مطابق لموضوعي
عندى بيانات شهرية والمطلوب ايجاد معادلة أو ما شابه

للقيام بالوظيفة التالية:

ورقة العمل عندى بها ثلاثة أعمدة سابق وحالي وجملة

مطلوب شهريا ترحيل الاجمالي ليكون السابق

والحالي قيمته صفر للكتابه عليه

دون المساس بالمعادلات ودون المساس بورقة الأجمالي

شكراً للاهتمام والمساعدة

ترحيل بيانات من الاجمالي الى السابق.xls

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

ما رأيك بهذا

Sub test()
    Dim ar As Range
    Dim sh As Worksheet
    Dim i As Long
    For i = 1 To Sheets.Count
        If Sheets(i).Name <> "TOTAL" Then
Set sh = Sheets(i)
            For Each ar In sh.Cells(3, 3).Resize(26).SpecialCells(xlConstants).Areas
                ar.Offset(, -1) = ar.Value
                ar.Value = 0
            Next
        End If
    Next
End Sub

 

ترحيل بيانات من الاجمالي الى السابق.xls

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

السلام عليكم
جزاكم الله خيراً
حل رائع لكن لو أمكن نقل البيانات

من عمود الإجمالي لعمود السابق 

وليس من عمود الحالي للسابق

جزيل الشكر لخبراءنا

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

استبدل بـ

Sub test()
    Dim ar, arl As Range
    Dim sh As Worksheet
    Dim i As Long
    For i = 1 To Sheets.Count
        If Sheets(i).Name <> "TOTAL" Then
            Set sh = Sheets(i)
            For Each ar In sh.Cells(3, 4).Resize(26).SpecialCells(xlCellTypeFormulas, 1).Areas
                ar.Resize(ar.Count - 1).Offset(, -2) = ar.Value
                ar.Resize(ar.Count - 1).Offset(, -1) = 0
                Set arl = ar
            Next
            arl.Resize(1).Offset(arl.Count - 2).AutoFill Destination:=arl.Resize(1, 2).Offset(arl.Count - 2, -1)
        End If
    Next
End Sub

 

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

بالعودة للكود الأول

يمكن تعديله

Sub test()
    Dim ar As Range
    Dim sh As Worksheet
    Dim i As Long
    For i = 1 To Sheets.Count
        If Sheets(i).Name <> "TOTAL" Then
            Set sh = Sheets(i)
            For Each ar In sh.Cells(3, 3).Resize(26).SpecialCells(xlConstants).Areas
                ar.Offset(, -1) = ar.Offset(, 1).Value
                ar.Value = 0
            Next
        End If
    Next
End Sub

 

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

الكود ممتاز جداً
محتاج أتعلم مكوناته وماذا يرمز إلي بتبسيط 
حتى إذا أحببت تغير أسماء الصفحات أو زيادة عدد الصفوف أكون على دراية بماذا أفعل

جزيل الشكر

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

  • أفضل إجابة

أخي العزيز

انظر الكود في المرفق لعله يفيدك 

ولا تتردد في اي استغسار أحر

تحياتي

ترحيل بيانات من الاجمالي الى السابق.xls

  • Like 1
  • Thanks 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