tchankich قام بنشر أكتوبر 2, 2013 قام بنشر أكتوبر 2, 2013 السلام عليكم ورحمة الله حياكم الله إخواني من فضلكم أريد أن تقولون لي ما الخطأ في هذا الكود على الصورة جزاكم الله خيرا مع العلم أنا استعمل إكسل 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
حمادة باشا قام بنشر أكتوبر 2, 2013 قام بنشر أكتوبر 2, 2013 الأخ الكريم / السلام عليكم ورحمة الله وبركاته نعم السطر بالأصفر به خطأ : 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) أرجو أن أكون قد أفدتك تقبل تحياتي
tchankich قام بنشر أكتوبر 3, 2013 الكاتب قام بنشر أكتوبر 3, 2013 جزاك الله أخي خيرا على الرد الجميل أجريت تعديل ونجح الامر 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
حمادة باشا قام بنشر أكتوبر 3, 2013 قام بنشر أكتوبر 3, 2013 الأستاذ/ 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.