أيمن بهجت قام بنشر أكتوبر 28, 2015 مشاركة قام بنشر أكتوبر 28, 2015 Range("A2:H" & lr).Copy حد يعرف ايه المشكله فى الكومند ده مع العلم اني بستخدم اكسل 2013 رابط هذا التعليق شارك More sharing options...
ياسر العربى قام بنشر أكتوبر 28, 2015 مشاركة قام بنشر أكتوبر 28, 2015 نرجوا ارفاق الملف او مثال لتوضيح المشكلة رابط هذا التعليق شارك More sharing options...
أيمن بهجت قام بنشر أكتوبر 28, 2015 الكاتب مشاركة قام بنشر أكتوبر 28, 2015 Sub InternalSwitch()Dim lr As IntegerSheets(1).Activateir = [A100000].End(xlUp).RowRange("a2:h" & lr).CopySheets(5).ActivateRange("a" & [A100000].End(xlUp).Row + 1).SelectSelection.PasteSpecial xlPasteValuesSheets(1).ActivateRange("a2").SelectRange("a2:h10000000").ClearContentsEnd Sub ده الكوماند كلو كل اللى عايزه انقل من شيت 1 لشيت 5 البيانات رابط هذا التعليق شارك More sharing options...
أيمن بهجت قام بنشر أكتوبر 28, 2015 الكاتب مشاركة قام بنشر أكتوبر 28, 2015 يوميه مخازن.rar رابط هذا التعليق شارك More sharing options...
ياسر العربى قام بنشر أكتوبر 28, 2015 مشاركة قام بنشر أكتوبر 28, 2015 الامر بسيط جدا خطأ الكود هو حرف i ir = [A100000].End(xlUp).Row المفروض احنا عرفناه علي اساس انه l وليس i الصح نخليه كدا lr = [A100000].End(xlUp).Row تفضل يوميه مخازن.rar 1 رابط هذا التعليق شارك More sharing options...
ياسر العربى قام بنشر أكتوبر 28, 2015 مشاركة قام بنشر أكتوبر 28, 2015 والحق واقولك غير كودك بالكود دا عشان في مشرفين هنا بيقفشوا علي الواحدة ويقولك بلاش Select or Activate Application.ScreenUpdating = False Dim mohamed As Integer mohamed = [A100000].End(xlUp).Row Range("a2:h" & mohamed).Copy aseel = WorksheetFunction.CountA(Sheets("تحويل داخلي).Range("a5:a9999")) + 4 Sheets("تحويل داخلي").Range("A" & aseel).PasteSpecial Paste:=xlPasteValues aseel = aseel + 1 Range("a2:h100000").ClearContents كود الغاليين 2 رابط هذا التعليق شارك More sharing options...
أيمن بهجت قام بنشر أكتوبر 28, 2015 الكاتب مشاركة قام بنشر أكتوبر 28, 2015 مشكور يا غالي على تعبك معايا رابط هذا التعليق شارك More sharing options...
ياسر خليل أبو البراء قام بنشر أكتوبر 28, 2015 مشاركة قام بنشر أكتوبر 28, 2015 أخي الكريم أيمن هل اشتغل معك الكود بشكل جيد ؟؟؟ أشك في النتائج ... راجع الملف مرة أخرى ... أخي الغالي ياسر العربي .. ركز معايا في اللي جاااااي إنت بتقول المشرفين بيقفشوا على Activate أو Select .. اتفضل القفش في الكود القفشة الأولى زي ما أبطلت تحديث الشاشة كان عليك ترجع الإعدادات مرة تانية وتشغل الخاصية في النهاية Application.ScreenUpdating = True القفشة التانية عند نسخ الكود .. هناك خطأ في هذا السطر لديك aseel = WorksheetFunction.CountA(Sheets("تحويل داخلي).Range("a5:a9999")) + 4 حضرتك نسيت أقواس التنصيص عشان تقفل اسم ورقة العمل القفشة التالتة في نفس السطر الل فوق ..دا كدا بيجيب آخر صف به بيانات ..يعني لما تيجي تلصق البيانات فيه آخر سطر سيتم اللصق عليه (قفشة في الجون) وليه اللفة الطويلة دي واستخدام دالة Counta وتزود عليها 4 كان ممكن يكون السطر بهذا الشكل أفضل aseel = Sheets("تحويل داخلي").Cells(Rows.Count, "B").End(xlUp).Row + 1 القفشة الرابعة بدلاً من أن تكتب وتشير إلى ورقة العمل Sheets("تحويل داخلي") الأفضل الإعلان عن متغير باسم ورقة العمل مرة في أول الكود لسهولة استخدام المتغير بمعنى أن تضع في أول الكود هذين السطرين Dim SH As Worksheet Set SH = Sheets("تحويل داخلي") وبعد ذلك يمكنك استخدام المتغير SH القفشة الخامسة حضرتك بتتسخدم أسماء أشخاص في المتغيرات ودا شيء مش مستحب لأن اسم المتغير بيعبر عن وظيفته في الغالب (دا أفضل) ..صحيح مش قفشة صحيحة بنسبة 100% ، ولكن أنا بكلم واحد محترف ، يعني لازم تستخدم اسماء في المتغيرات تعبر عن المتغير وعن نوعه كمان يعني مثلاً المتغير mohamed المفروض إنه بيجيب رقم آخر صف في ورقة العمل اللي فيها الكود ... كان ممكن نسميه lRow (حرف الـ l اختصار للنوع Long .. أو لو حبيت تستخدم Integer يبقا iRow) .. والمتغير المسمى aseel المفروض بيعبر عن آخر صف في ورقة العمل "تحويل الداخلي" أو على الأدق أول صف فارغ بعد آخر صف به بيانات ... ممكن تسميه iRowTar أي آخر صف في الورقة الهدف (الورقة الهدف : الورقة المراد الترحيل إليها) القفشة السادسة يفضل أيضاً الإشارة إلى ورقة العمل الحالية .. عشان تقدر تنفذ الكود من أي مكان تاني (لأن الكود بهذا الشكل مينفعش يتنفذ غير وإنت واقف في ورقة العمل Sheet1 فالأفضل تعيين متغير تاني لورقة العمل الأولى عشان تقدر تنفذ الكود من أي مكان زي ما قلت فيكون بهذا الشكل أيضاً .. Dim WS As Worksheet Set WS = Sheets("Sheet1") والأفضل كمان إنك تستخدم الاسم البرمجي بدلاً من اسم ورقة العمل ، نظراً لأن المستخدم قد يرغب في كثير من الأحيان إلى تغيير اسم ورقة العمل ، بالتالي راعي هذه النقطة أيضاً القفشة السابعة السطر التالي ايه لازمته ...عايز أعرف ايه الفايدة منه بعد انتهاء أسطر الكود aseel = aseel + 1 ملوش لازمة إلا لو كنت داخل حلقة تكرارية مثلاً وتريد زياد رقم الصف بمقدار واحد شفت إزاي ممكن كود صغير نقفش منه سبع قفشات ... قول ورايا : خشب السقف سبع خشبات واتمسكت بسبع قفشات (قولها 10 مرات) تقبل تحياتي أخوك وحبيبك أبو البراء الكود بالشكل النهائي يمكن أن يكون بهذا الشكل ... Sub Rectangle1_Click() Dim WS As Worksheet, SH As Worksheet Dim lRow As Long, lRowTar As Long Set WS = Sheet1: Set SH = Sheet5 lRow = WS.Cells(Rows.Count, "A").End(xlUp).Row lRowTar = SH.Cells(Rows.Count, "A").End(xlUp).Row + 1 Application.ScreenUpdating = False WS.Range("A2:H" & lRow).Copy SH.Range("A" & lRowTar).PasteSpecial Paste:=xlPasteValues Range("A1").CurrentRegion.Offset(1).ClearContents Application.ScreenUpdating = True End Sub 3 رابط هذا التعليق شارك More sharing options...
ياسر العربى قام بنشر أكتوبر 28, 2015 مشاركة قام بنشر أكتوبر 28, 2015 ههههههههههههههههههههههه اينعم انا عدلت بس مجربتش ماشي ياعم انت زي ما انا شاكك فيك من الاول منفسن من ناحيتي مش عارف ليه انا مبحبش النقد الهدام داااا هههههههه انت ياخي كودك الاولاني زي الفل اشتغل علي Select or Activate محطتشي تاتش في حته وسلكت لازم يتعلم عليا كدا ماشي الواحد مش بيتعلم ببلاش 1 رابط هذا التعليق شارك More sharing options...
ياسر خليل أبو البراء قام بنشر أكتوبر 28, 2015 مشاركة قام بنشر أكتوبر 28, 2015 أخي الحبيب ياسر العربي أنا مجرد متعلم مثلك تماماً والله .. وكلنا بنستفيد من بعض ومفيش نفسنة ولا حاجة من الكلام ده ..إنت حبيبي وحبايبي بس اللي بعمل معاهم كدا (رخامة بقا .. أصلها في الطبع ) تقبل وافر تقديري واحترامي 1 رابط هذا التعليق شارك More sharing options...
ياسر العربى قام بنشر أكتوبر 28, 2015 مشاركة قام بنشر أكتوبر 28, 2015 أخي الحبيب ياسر العربي أنا مجرد متعلم مثلك تماماً والله .. وكلنا بنستفيد من بعض ومفيش نفسنة ولا حاجة من الكلام ده ..إنت حبيبي وحبايبي بس اللي بعمل معاهم كدا (رخامة بقا .. أصلها في الطبع ) تقبل وافر تقديري واحترامي ياعم الحاج انت حبيبي وعمري ما ازعل منك بس انت استحمل رخمتي بس وبعدين انا هشتغل بكودي بقي ايه رايك رخامة وشوف الكود تاني Sub Rectangle1_Click() Dim mohamed As Integer Application.ScreenUpdating = False mohamed = [A100000].End(xlUp).Row Sheet1.Range("a2:h" & mohamed).Copy aseel = WorksheetFunction.CountA(Sheet5.Range("a5:a9999")) + 4 Sheet5.Range("A" & aseel + 1).PasteSpecial Paste:=xlPasteValues Sheet1.Range("a2:h100000").ClearContents Application.ScreenUpdating = True End Sub ومحمد واسيل متغيرات عشان هما كل يوم بحال أخي الحبيب ياسر العربي أنا مجرد متعلم مثلك تماماً والله .. وكلنا بنستفيد من بعض ومفيش نفسنة ولا حاجة من الكلام ده ..إنت حبيبي وحبايبي بس اللي بعمل معاهم كدا (رخامة بقا .. أصلها في الطبع ) تقبل وافر تقديري واحترامي وعشان نبقي خالصين خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات خشب السقف سبع خشبات واتمسكت بسبع قفشات 1 رابط هذا التعليق شارك More sharing options...
أيمن بهجت قام بنشر أكتوبر 29, 2015 الكاتب مشاركة قام بنشر أكتوبر 29, 2015 ههههههههههههههههههههه والله انتو ناس زي العسل و بصراحه انا لسه متعلم الماكرو النهرده و ما اخدتش فيه الا نص ساعه كده قرايه و عملت الكومند ده و عايز احترف الماكرو هل في اسلوب اتعلم منه الماكرو و بجد استفدت من مناقشتكو و خصوصا ال 10 اخطاء ;) ربنا يباركلكو والله انتو ناس ميه الميه الميه الميه 2 رابط هذا التعليق شارك More sharing options...
ياسر خليل أبو البراء قام بنشر أكتوبر 29, 2015 مشاركة قام بنشر أكتوبر 29, 2015 بص يا أخ أيمن أولاً لازم تقرا التوجيهات في المنتدى وتغير اسم الظهور للغة العربية وبعد كدا هتلاقي باب مفتوح .. تدخل الباب (من ورا عبد التواب) وتشوف كدا الموضوع هيسلك معاك ولا لا .. خد الرابطين دول ابدأ بيهم لعلهم يفيدوك من هنا دورة افتح الباب وادخل ومن هنا موضوع البدايات بداية الطريق لإنقاذ الغريق رابط هذا التعليق شارك More sharing options...
أيمن بهجت قام بنشر أكتوبر 29, 2015 الكاتب مشاركة قام بنشر أكتوبر 29, 2015 تشكر يا باشا جاري مالمذاكره رابط هذا التعليق شارك More sharing options...
ياسر العربى قام بنشر أكتوبر 29, 2015 مشاركة قام بنشر أكتوبر 29, 2015 ههههههههههههههههههههه والله انتو ناس زي العسل و بصراحه انا لسه متعلم الماكرو النهرده و ما اخدتش فيه الا نص ساعه كده قرايه و عملت الكومند ده و عايز احترف الماكرو هل في اسلوب اتعلم منه الماكرو و بجد استفدت من مناقشتكو و خصوصا ال 10 اخطاء ;) ربنا يباركلكو والله انتو ناس ميه الميه الميه الميه ايه ياعم ايمن وحد الله قول لا اله الا الله عشر اخطاء كمان طيب سبعة وكنا مستكترينها جبت عشرة دي منين انتو في حد بيدعمكوا ويقولكو عقدو ياسر لا حول ولا قوة الا بالله واحد يخش كمان يقول مشكورين انا استفدت فعلا من العشرين الخطأ اللي تفضل ياسر وغلطهم ماشي الايام بيننا وهعلم عليكم وهفرح فيكم 1 رابط هذا التعليق شارك More sharing options...
ابوحمزه المصرى قام بنشر أكتوبر 29, 2015 مشاركة قام بنشر أكتوبر 29, 2015 موضوع بصراحه رائع التعلم من الاخطاء يجعل المعلومه تلزق فى الجمجمه ... بصراحه السيد ياسر خليل والسيد ياسر العربى صرح من اكواد VBA ... بارك الله فيكما وجعله بميزان الحسنات 2 رابط هذا التعليق شارك More sharing options...
أيمن بهجت قام بنشر أكتوبر 29, 2015 الكاتب مشاركة قام بنشر أكتوبر 29, 2015 هو مافيش موضوع لامم اغلب الاكواد و استخدام كل كود ايه؟ رابط هذا التعليق شارك More sharing options...
ياسر العربى قام بنشر أكتوبر 29, 2015 مشاركة قام بنشر أكتوبر 29, 2015 هو مافيش موضوع لامم اغلب الاكواد و استخدام كل كود ايه؟ دا بحر ومهما تحصل فيه يبقي الكثير والكثير لتعلمه احنا بس نعرف طريقة كتابة الكود ووحدة وحدة احنا نخرج اكواد انت ممكن تعرف كودين تلاته تقدر تعمل بيهم حاجات كتيررررر بس نركز ونتفنن وربنا يزيدك ويزدنا 1 رابط هذا التعليق شارك More sharing options...
الردود الموصى بها
من فضلك سجل دخول لتتمكن من التعليق
ستتمكن من اضافه تعليقات بعد التسجيل
سجل دخولك الان