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

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

قام بنشر

صبحكم الله بالخير ياوجوة الخير  

 

تحية اجلال واحترام للطيبين 

 

اليوم عندي كود نرحيل موجود في ملف (اكسل1) يرحل الى ملف (اكسل2) لاكن المشكلة انة يرحل ليس بشكل منتظم مرة يرحل الى تحت ومرة الى فوق 

 

ومحتاج يرحل ملف اكسل 1 الى ملف اكسل 2 ويكون ملف اكسل 2 مغلق مش ضروري اقوم بفتح الملف 

 

حاول اعدل لم استطيع  عمل شي 

 

الله يجزية الف خير من حاول مساعدتي وشكرا للجميع 

ملف ترحيل.rar

قام بنشر

أخي الصالح صالح أحمد

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

ارفق بعض النتائج المتوقعة .. حتى تجد المساعدة من الأخوة

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

أخي الفاضل صالح

ما بالكم إخواني إذا طلبت منكم طلب بسيط تهربتم مني ! والله إني لأعجب ..

أخبرتك أخي أن تضع بعض البيانات في الملف المرفق لتجربة الكود وسألتك عن الخلايا التي سيتم الترحيل إليها فلم تبالي بسؤالي ..

التوضيح يوفر الوقت والجهد ويجعل الموضوع لا يطول حتى يتمكن الأعضاء من مساعدة الجميع

أرجو تفهم الأمر بارك الله فيكم

 

أخي إليك الكود التالي على قدر ما فهمت ....

Sub TransferDataToClosedWB()
    Dim WB As Workbook
    Dim LR_A As Long, LR_B As Long
    Dim Answer As Long
    LR_A = IIf(Cells(Rows.Count, 1).End(xlUp).Row = 1, 1, Cells(Rows.Count, 1).End(xlUp).Row)
    
    Application.ScreenUpdating = False
        
        If Application.WorksheetFunction.CountA(Range("A1:A" & LR_A)) < 1 Then MsgBox "لا يوجد بيانات لترحيلها", vbInformation: Exit Sub
        
        ThisWorkbook.Sheets("Sheet1").Range("A3:Q" & LR_A).Copy
        Set WB = Workbooks.Open(Filename:=ThisWorkbook.Path & "\" & "اكسل2.xlsx")
        With WB.Sheets("Sheet1")
            LR_B = IIf(Cells(Rows.Count, 1).End(xlUp).Row = 1, 1, Cells(Rows.Count, 1).End(xlUp).Row + 1)
            .Range("A" & LR_B).PasteSpecial xlPasteValues
            .Range("A" & .Cells(.Rows.Count, 1).End(xlUp).Row + 1).Select
        End With
        
        Answer = MsgBox("تم الترحيل بفضل الله" & Chr(10) & "هل تريد مسح البيانات التي تم ترحيلها؟", vbQuestion + vbYesNo)
        If Answer = vbYes Then
            ThisWorkbook.Sheets("Sheet1").Range("A3:Q" & LR_A).ClearContents
        Else: End If
        
        WB.Close SaveChanges:=True
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub

أرجو أن يكون الحل صحيحاً وألا يكون فيه تعقيب لأنه لو به تعقيب فهذا بسبب قصور التوضيح

ولك جزيل الشكر على اهتمامك بأمر التوضيح الذي طلبته منك

Transfer Data To Closed Workbook YasserKhalil.rar

  • Like 4
قام بنشر

أخي الكريم صالح أحمد

الحمد لله أن تم المطلوب على خير وكله بفضل الله وحده

حل المشكلة يستغرق مني وقت ليس بالقليل .. لا تنسى أن تضغط على كلمة "أعجبني هذا" كنوع من رد الجميل ، ولن يستغرق الأمرك منك الوقت الطويل .. فقط ثانية واحدة يا جميل (القافية حكمت على رأي أخونا مختار)

  • Like 2

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