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

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

قام بنشر

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

اولا انا دى اول مرة اشارك معاكم فى المنتدى ... انا مشترك من مدة طويلة و بستفيد جدا من المواضيع بتاعتكو

انا طالب مساعدة من حضراتكم

انا مهندس مدنى و بعمل شيت فيه شوية بنود العملاء بيزودوها فى فيللهم او عمارتهم وانا بعملها حصر بسيط كدة

المهم

انا عندى شيت من الشيتات مكتوب فية 13 بند اللى هما غالبا كل التغيرات الممكنة اللى ممكن العميل يغيرها

وانا بدخل كمية التغيرات لكل بند فى الشيت دة ... بس طبعا مش كل عميل هيعمل كل التغيرات ال 13

ممكن عميل يعمل تغيير واحد او 2 او 5 او 6 او .... وهكذا

انا عايز من حضراتكم طريقة تخلينى انقل بس البنود اللى العميل غيرها (و هى طبعا اللى هتكون كميتها مكتوبة) تتنقل فى شيت تانى

انا اقدر اعمل كدة بالطريقة دى :

انى اعمل معادلات تقرأ من الشيت الاول ( فى حالة ان فى كمية ... اكتب اسم التغيير و كميتة ) و فى حالى مفيش سيب الخلية فاضية

الطريقة دى بالنسبة ليا مش هى الحل لأنها اولا هتخلينى اجهز 13 صف فى الورقة كل صف مرتبط ببند من البنود و لو بند مش موجود

هيبقى مكانة فاضى ... وحتى لو استخدمت الطريقة انو مايحطش الصفوف الفاضية ... هكون استغنيت فى الورقة عن مساحة 13 صف

هتفضل برضة فاضية بعد كتابة البنود اللى العميل غيرها

المطلوب : لو امكن ان الاكسيل يعمل (Insert) اوتوماتيك بعدد الصفوف المطلوبة (اللى فيها كميات مكتوبة فى الشيت الاول)

معرفش دة ممكن ولا لأ .. و هل لازم VBA ولا لأ و لو لازم VBA يا ريت اعرف الكود و طريقة ادخاله (مع تفضيلى لعدم استخدام VBA)

اسف جدا على الاطالة .... بس حاولت اشرح المطلوب بالظبط عشان وقتكم الغالى

الملف مرفق

Sheet 1 >>>>>> Total Quotation

Sheet 2 >>>>>> Final Quotation

III-05.rar

قام بنشر

السلام عليكم

مرحبا بك ياباشمهندس

انا أيضا مهندس مدنى

أنا حليت لك حل بسيط بدون أكواد

أولا نقلت كل البيانات اللي في الورقة الأولي للثانية

ثم

بإستخدام عمود مساعد به فلتر

يتكون فيه أوتومايتك حالة الطباعة

الحالة OK تعني أن هذا البيان قد غيره العميل غيره وبالتالي يتم طباعته

والحالة Hide تعني أنه لم يتغير يعني صفر يعني لاداعي لطباعته

كل ماعليك قبل الطباعة أن تضغط علي السهم في العمود المساعد وتختار حالة OK

وكذلك في الورقة الأولي

راجع المرفق وأخبرني النتيجة

III-05-2.rar

  • Like 1
قام بنشر

مهندس طارق

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

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

وانت عارف ان لو زودنا خطوة فى كل شيت لكل عميل .. الوقت هيكون اكتر ... وانت عارف الوقت بالنسبة لينا فى شغلتنا دى عامل ازاى

انا كان ممكن استغنى عن الشيت الاول و أخلى الشيت التانى بس و اعمل (Hide) للبنود الفاضية ... بالحل بتاع حضرتك يبقى كدة الاسهل انى

اخلى الموضوع فى شيت واحد بس و خلاص ...انا كان سؤالى لو ينفع ينقل (بس) البنود اللى حصل فيها تغيير

للمرة التانية بشكر سرعة ردك و تفكيرك فى الحل

انا متأسف ... بس بشكر ردك جدااااااااااااااااااااااااااااااا

قام بنشر (معدل)

أخي العزيز

حسب ما هو بالورقة الثانية

الصفوف من 13 إلي 51 ثابتة وسيختفي منها مالاداعي له فقط

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

لن تفعل شيئا إلا أن تضغط قبل الطباعة علي السهم في العمود المساعد وتختار حالة OK

تم تعديل بواسطه TareQ M
قام بنشر

مهندس طارق

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

طيب اسأل حضرتك سؤال

هو ممكن الفلتر اللى فى الشيت الاول لما اختار منه (OK) يعمل فلتر اوتوماتيك للشيت التانى ؟؟؟

الفكرة يا اخى العزيز

انا مش عايز حد يعمل اى حاجة فى الشيت التانى

لأن الشيت التانى فى ناس هتستخدمة بعدى (مبيعات و حسابات ..... ) فا مش عايز يبقى فى اى تدخل

ممكن حد يلاقى الفلتر يفتحة او ايا كان

فا انا افضل عدم الدخول فى الشيت التانى الا للطباعة فقط

لو أمكن ان الفلتر يتعمل فى الشيت الاول و بناءا عليه يتعمل فى الشيت التانى اوتوماتيك يكون حل ممتاز

شكرا و اسف ع الاطاله

قام بنشر

لغيت الفلتر في الورقة الأولي

وأخفيت عمود الفلتر في الثانية

وعند الدخول علي الورقة الثانية ، أوتوماتيكيا سيتم تعديل الفلتر إلي الحالة OK

وأيضا عند أي تغيير في الورقة الثانية ، أوتوماتيكيا سيتم تعديل الفلتر إلي الحالة OK

قام بنشر

مهندس طارق

انا بشكرك جدا جدا جدا جدا

معلش هتقل عليك شوية (انا اسف جدا) ممكن حضرتك تقولى الكود دة اتعمل ازاى لو فكرة مبسطة بس يعنى

عشان لو حبيت اعمل تعديل ولا حاجة ؟؟ اذا امكن يعنى

شكرا جدا ليك اخى العزيز

غلبتك معايا والله ... متشكر جدااا

قام بنشر

السلام عليكم

ولاغلبة ولاحاجة

راجع الرابط الآتي لأكواد الأحداث

http://www.mvps.org/dmcritchie/excel/event.htm#change

أكواد الأحداث هي أكواد خاصة وترتبط بحدث معين في هذا الشييت فقط (أي الشييت الذي تضع فيه الكود)

وقد وضعت لك كودين منهما

كود إسمه Worksheet_Activate

والآخر إسمه Worksheet_Change

وكما هو واضح من إسمهما واحد ينفذ الكود بمجرد تنشيط الورقة (أي كلما تدخل عليها)

والآخر بحدوث أي تغيير في الورقة (Editing)

أما الكود نفسه هو سطر واحد في الحالتين



Range("n12:n79").AutoFilter Field:=1, Criteria1:="OK"

ينشط عملية الفلترة السابق ذكرها

  • 3 years later...
  • 2 weeks later...
زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information