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

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

قام بنشر

بسم الله الرحمن الرحيم

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

اريد كود نسخ صف بشرط محدد إلى ورقة عمل أخرى

مثلاً :

لدى كشف حضور و غياب موظفين فى شيت 1، اريد كود ينسخ (او ينقل ، أو يفرز) الموظفين الغائبين بنفس ترتيبهم إلى شيت أخر 2 مثلا بأسم أسماء الغياب .

قام بنشر

الملف المرفق عبارة عن كشف بأسم حضور وغياب الموظفين بالورقة الأولى أريد فى الورقة الأخرى أسماء الموظفين الغائبين

كطريقة من الفرز ولكن عن طريق كود أو معادلة

تمكنى من نقل الصف بأكملة المظلل باللون الأصفر فى Sheet1 إلى Sheetالاخر

Book1.zip

قام بنشر

بسم الله الرحمن الرحيم

أخى العزيز الغالى : m.hindawi

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

اشكرك على تعبك معى و مساعدتى .

و فعلاً ما قمت به هو ما اريد فالزر السريع فى فرز أسماء الموظفين الغائبين فى Sheet مستقل حل لى المشكلة و اجاب عن سؤالى.

و لكن اريد ان اتعبك معى اكثر :rol: .

هل هناك طريقة اسهل من الماكرو حيث اننى ضعيف جداً فى البرمجة عن طريق VBA

ما اقصدة هل هناك معادلة خاصة تقوم بذلك.

و ان كانت الاجابة لا .

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

-------------------------------------- هذا الكود ----------------------------------------------

Sub DSDSD()

Endrow = Sheets("كشف الحضور").Range("A1").CurrentRegion.Rows.Count

ENDROW7 = Sheets("الغائبين").Range("A1").CurrentRegion.Rows.Count

For a = 3 To Endrow

tes = Sheets("كشف الحضور").Cells(a, 5).Value

'test2 = String(4, TES)

If tes = "نعم" Then

For b = 1 To 5

Sheets("الغائبين").Cells(ENDROW7 + 1, b).Value = Sheets("كشف الحضور").Cells(a, b).Value

Next

ENDROW7 = ENDROW7 + 1

End If

Next

End Sub

------------------------------ اشكر الجميع -------------------------------------------------

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

السلام عليكم

اخي الكريم اعتقد انه يمكن تنفيذ العملية عن طريق معادلة لكنها ستكون معقدة اكثر من الكود

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

السطر الاول والثاني

يقوم بحساب عدد الصفوف المتلئة في الورقة الاولى والثانية من الملف الورقة كشف الحضور و الورقة كشف الغياب ثم يضع هذا الرقم في متغير endrow و endrow7

السطر الثالث نقوم بانشاء حلقة تكرارية تبدا من 3 حتى عدد الصفوف الممتلئة في الورقة كشف الحضور

السطر الرابع يقوم بانشاء معامل الفحص ونسميهtes وهو متغير حسب رقم الصف

كما تلاحظ حيث انه يوقم بفحص القيم في العمود الخامس من الورق الاولى ابتداء من الصف رقم 3 الى اخر صف به قيمة

السطر الذي يليه ............... حيث اننا نتعامل مع قيمة نصية متغير نعم او لا اضفت هذا السطر لتحويل قيمة الفحص الى متغير حرفي يقو بتحويل tes الى متغير حرفي

السطر الذي يليه نقوم ببدا عملية الفحص

السطر الذي يليه نعد لعملية نسخ البيانات الى الورقة كشف الغياب حيث حددنا حلقة تكرارية من 1 الى5حسب عدد الاعمدة المراد نسخها

اما هذا السطر

Sheets("الغائبين").Cells(ENDROW7 + 1, b).Value = Sheets("كشف الحضور").Cells(a, b).Value

يقوم بعملية النسخ طبعا ضمن الشرط الذي حددناه في المتغير tes

الامر next معروف من اجل عملية نسخ العمود اللاحق

اما المعادلة

ENDROW7 = ENDROW7 + 1

فهي كي لا يقوم الكود بنسخ السطر في نفس المكان فهو يقوم باضافة 1 الى المتغير endrow7 من اجل ان يتم نسخ السطر اللاحق في سطر جديد بدون هذا الامر سيتم نسخ الاسطر فوق بعضها البعض ولن يظهر الا اخر سطر

امل ان اكون وفقت في الشرح

شكرا

تم تعديل بواسطه m.hindawi
قام بنشر

بسم الله الرحمن الرحيم

أخى الفاضل m.hindawi بارك الله فيك

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

بصرحة الشرح سهل و يسير و فعلاً فهمته

---------------

اريد ان اطمع فى علمك بأن استعلم عن

هل يمكن للكود ان يختبر وجود البيانات سابقاً و ذلك لعدم التكرار للصفوف

لانى قمت بالضغط على الزر فيقوم مع كل ضغطة بتسجيل البيانات من جديد

فكيف اتلافة هذا التكرار

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

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

هذه بسيطة تضيف السطر التالي في اول الكود

وهو يقوم بمسح الاسطر من رقم 3 الى رقم 100 في كل ضغطة تضغط على الرز

اذا اردت ان يمسح اكثر من 100 سطر غير الرقم 100 بعد حرف f واذا اردت ان يمسح اكثر من 6 اعمدة او اقل غير الحرف f

 Sheets("الغائبين").Range("A3:f100").ClearContents

تم تعديل بواسطه m.hindawi
قام بنشر

بسم الله الرحمن الرحيم

أخى العزيز الفاضل : m.hindawi

(y)

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

ما تقدمة من تبسيط وتيسير المعلومات و توصيل ما اكتسبته من علم إلى الغيير .

(خيركم من تعلم العلم و علمة)

:fff:

------------

ان شاء الله فى المرة القادمة تكون الاسئلة منى اقوى و اعمق حتى لا اضيع اوقاتكم الثمينة

أخوكم أحمد

مصر :fff:

قام بنشر

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

شكراعلى مجاملتك اللطيفة

اي سؤال بنظري هو مهم وفيه فائدة للجميع المهم ان يكون السؤال واضحا حتىيتمكن الشخص من الرد عليه بصورة سليمة

وبصراحة انا استفيد من الاجابة على اي سؤال فذلك يدفعني الى البحث عن الاشياء التي لا اعرفها

شكرا لك اخي الكريم

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

أخى m.hindawi

اشكرك على ردك المتواضع ....

1 - ممكن اسألك عن طريقة أخفاء الصيغ و المعادلات من شريط الصيغ Formula Bar و عدم ظهورها للغير

-- قد يكون هذا السؤال تكرر كثيراً و لكن بعض الشروحات و الطرق الموجودة فى المنتدى التى عرفتها عن طريق محرك البحث

لم افلح فى الفهم منها شئ.

2 - ممكن ايضاً اعرف طريقة عمل دليل هاتف على الإكسل كفكرة متكاملة

-- و أن شاء الله اضع الموضوع للمناقشة و المشاركة كموضوع مستقل

بأسم خطوه بخطوة برنامج دليل الهاتف وطبعاً المبرمجين و من لهم الخبرة يقدموا الشروحات للخطوات الفعلية و هنا تعم الفائدة

ما رايك ؟؟

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

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

بالنسبة لاخفاء الصيغ والمعادلات يمكنك ان تخفي شريط الصيغ نهائيا

ولكن اعادة اظهاره عملية سهلة

افضل حل هو ان تقوم بحماية الخلايا التي تحتوي على صيغ

وهناك حل اخر هو ان تقوم بادراج الصيغة في كود ويتم تنفيذ الصيغة عند طلب تنفيذ الكود

كيفية حماية الخلايا سهلة ويمكن ان تضع كلمة مرور لها

وذلك من القائمة ادوات .... حماية..... حماية ورقة

ولكن عليك ان تتاكد من تنسيق الخلايا يجب ان تكون مؤمنة ومخفية اقصد الخلايا التي تحتوي على صيغ طبعا

ام عن ادراج الصيغة في كود

راجع الرابط التالي ويحتوي على مثال للاخ محمد حجازي مثال ممتاز لادراج دالة في الكود

http://www.officena.net/ib/index.php?showtopic=6215

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

وساحاول ان اعطيك ملف في المشاركة القادمة

شكرا لك

قام بنشر

أخى الفاضل m.hindawi

هنا بالمنتدى نفس فكرة السؤال خاصتى عن الفرز التلقائى بالأوراق

الذى تكرمت من علمك و اجبتنى

و لكن هذة الطريقة بدون ازرار ممكن أخى تشرح لى طريقتها

http://www.officena.net/ib/index.php?showtopic=5040

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

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

و قد يكون هذا الموضوع سبب المعرفة الدافع فى أن ادمجة مع مثلة

و لك الشكر

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

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

Important Information