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

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

قام بنشر

السلام عليكم ورحمة الله

حياكم الله إخواني

:dance1:

 

من فضلكم أريد أن تقولون لي ما الخطأ في هذا الكود على الصورة جزاكم الله خيرا

مع العلم أنا استعمل إكسل 2010

Sub Ajouter_journal()

    Range(Range("$H$4"), Range("$A$4:$A$10").End(xlDown)).Select
    Range(Range("$H$4"), Range("$A$4:$A$10").End(xlDown)).Copy
    
        If Cells(22, 1) = "" Then
        
        Range("$A$22").Select
        Range("$A$22").PasteSpecial (xlPasteValues)
    Range("$A$4:$C$10").ClearContents
    Range("$E$4:$E$10").ClearContents
    Range("$G$4:$H$10").ClearContents
    Range("$A$4").Select
    
        Else
        
        Range("$A$22:$A$65000").End(xlDown).Offset(1, 0).Select
        Range("$A$22:$A$65000").End(xlDown).Offset(1, 0).PasteSpecial (xlPasteValues)
    Range("$A$4:$C$10").ClearContents
    Range("$E$4:$E$10").ClearContents
    Range("$G$4:$H$10").ClearContents
    Range("$A$4").Select
        
        End If
    
End Sub

neR46502.jpg

قام بنشر

الأخ الكريم /

السلام عليكم ورحمة الله وبركاته

نعم السطر بالأصفر به خطأ :

 Range("$A$22:$A$65000").End(xlDown).Offset(1, 0).Select

حيث جزئية 

 .End(xlDown)

تعني آخر سطر في الورقة

بينما الجزئية

.Offset(1, 0) 

تشير إلي الخلية بالسطر أسفل الحالي - وحيث الحالي هو آخر سطر بالورقة لذا ظهرت رسالة الخطأ

 

إقترح التالي وعدل ما تريد حسب ما تري :

1- إن اردت النسخ حتي مدي (Range) محدد - إستخدم

Range("$A$22").Copy
Range(Range("$A$22").Offset(1, 0), "$A$65000").PasteSpecial (xlPasteValues)

2- إن أردت النسخ حتي نهاية الورقة - إستخدم

Range("$A$22").Copy
Range(Range("$A$22").Offset(1, 0), Range("$A$22").End(xlDown)).PasteSpecial (xlPasteValues)

أرجو أن أكون قد أفدتك

تقبل تحياتي

 

 

قام بنشر

جزاك الله أخي خيرا على الرد الجميل 

أجريت تعديل ونجح الامر 

Sub Ajouter_journal()

    Range(Range("$H$4"), Range("$A$4:$A$10").End(xlDown)).Select
    Range(Range("$H$4"), Range("$A$4:$A$10").End(xlDown)).Copy
    
        If Cells(22, 1) = "" Then
        
        Range("$A$22").Select
        Range("$A$22").PasteSpecial (xlPasteValues)
    Range("$A$4:$C$10").ClearContents
    Range("$E$4:$E$10").ClearContents
    Range("$G$4:$H$10").ClearContents
    Range("$A$4").Select
    
        Else
        
        Range("$A$22:$A$65000").End(xlDown).Select
        Selection.Offset(1, 0).PasteSpecial (xlPasteValues)
    Range("$A$4:$C$10").ClearContents
    Range("$E$4:$E$10").ClearContents
    Range("$G$4:$H$10").ClearContents
    Range("$A$4").Select
        
        End If
    
End Sub
قام بنشر

الأستاذ/ tchankich

 

السلام عليكم ورحمة الله وبركاته

طبعا أنا سعيد لأن الكود يعمل معك ولكني أري أن خطأ الكود مازال قائما

وبمجرد تحقق شرط الشطر الثاني من جملة IF ستظهر لك نفس رسالة الخطأ مجددا

Run-time error 1004

Application-defined or object-defined error

 

وأقصد الكود التالي :

Else

Range("$A$22:$A$65000").End(xlDown).Select
Selection.Offset(1, 0).PasteSpecial (xlPasteValues)

لذا جرب الإحتمال الثاني وأخبرني بالنتيجة

تقبل تحياتي

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