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

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

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

حاولت أفهم المطلوب

لم أفلح

المطلوب :- عند كتابة اى رقم فى f1 يتم كتابة هذا الرقم فى صورة متسلسلة (1-2-3-4-5-6-7-8-9- الخ حتى رقم 20

ثم يبدأ التسلسل مره اخرى من a3 برقم 21 (أى الزيادة بمقدار20للخلية a3)حتى يصل الى رقم 40 ثم يبدأ التسلسل مره اخرى من a3 برقم 41 حتى رقم 50

أى ان المسلسل لايزيد عن 20 رقم

واذا كان الرقم الموجود فى f1 بيساوى صفر يكون تحت المسلسل خالى أى لايوجد أى مسلسل .

والحل بالكود او بالمعادلات

والف شكر لسيادتكم

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

الى الاستاذ الفاضل /kemas

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

ارفقت الملف مره اخرى واوضحت المطلوب بشكل افضل

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

وجزاكم الله كل خير

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

السلام عليكم أستاذ فضل

هذا هو الكود

Sub Serial()

 Dim mycl As Range

 Dim mycl2 As Range

Set mycl = Range("a3")

Select Case mycl

        Case Is = 0

            For i = 1 To 20

                Cells(i + 2, 1) = i

            Next i

        Case Is > 80

            For i = 1 To 20

                Cells(i + 2, 1) = i

            Next i

        Case Is = 1

            For i = 1 To 20

                Cells(i + 2, 1) = i + 20

            Next i

        Case Is = 21

            For i = 1 To 20

                Cells(i + 2, 1) = i + 40

            Next i

        Case Is = 41

            For i = 1 To 20

                Cells(i + 2, 1) = i + 60

            Next i

        Case Is = 61

            For i = 1 To 20

                Cells(i + 2, 1) = i + 80

            Next i


End Select

Set myrang = Range("a3:a22")

For Each mycl2 In myrang

    If mycl2 > 90 Then mycl2 = Empty

Next mycl2

Set mycl = Nothing

Set myrang = Nothing

End Sub

و إليك المرفق

التسلسل-kemas.rar

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

السلام عليكم

اخي الكريم هنا محاولة اخرى مع الشكر لاخي كيماس

If [f1].Value <> 0 Then

   If [a3] <> 0 Then x = [a3] + 19

   If Application.WorksheetFunction.CountIf([a3:a22], [f1]) = 1 Then x = 0

   [a3:a22] = Empty


   For i = 1 To 20

    Cells(i + 2, 1) = x + i

    If x + i >= [f1] Then Exit Sub

   Next i

Else

  [a3:a22] = Empty

End If

التسلسل11.rar

  • Like 1
قام بنشر

جيد أخى عبد الله

لكن لاحظ أن الرقم 90 غير ثابت

أخى الحسامى

كود ممتاز كالعادة من حضرتكم

جزاك الله خيرا

لكن بعد تجربة

أحيانا يثبت الكود

ولا يغير إلا قيمة الخلية a3

أعتقد

يجب أن تمسح a3

بعد كل تغيير للخلية

f1

مع الشكر

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

الى الاساتذه الفضلاء /كيماس والحسامى وعبدالله المجرب

اجمل المنى وارق التهانى لكم ولجميع اعضاء المنتدى والقائمين عليه.

بالطبع وبدون شك حلول رائعة جزاكم الله كل خير واعمال بنتعلم منها بالفعل ندعوا الله ان يجزيكم عنها خيرالجزاء .

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

أولا :- بالنسبة لكود الاستاذ/ كيماس كود رائع ولكن المشكلة انه ثبت الكود على رقم 90 الموجود بالخلية f1 مع العلم انه هذا الرقم متغير ممكن يصبح اكبر او اصفر فهو رقم متغير يزيد وينقص وليس ثابت . فعند مثلا كتابة الرقم 5 بدلا من 90 ينفذ على انه 90 وليس مثلا 5

ثانيا / بالنسبة لاستاذنا الكبير الحسامى باشا / تعلمنا منه الكثير ومازلنا نتعلم. الكود بالطبع رائع وعالج مشكلة الاستاذ كيماس فهو تعامل مع f1 على انها متغير وهذا بالطبع رائع . ولكن يوجد مشكلة بسيطة ظهرت عند التجربة فى كود سيادتكم هو اننى عندما بيوصل التسلسل الى مثلا 90 واقوم بمسح الرقم 90 واكتب رقم اقل منه وليكن 5 الكود يعطى تسلسل مختلف تماما.والنقطة الاخرى اريد عندما يتغير الرقم الموجود فى f1 يتغير التسلسل تلقائيا .

بالنسبة للاستاذ الفاضل / عبدالله المجرب جزاه الله كل خير ولكن المشكلة ان تعامل مع الرقم الموجود فى f1 وهو 90 على انه ثابت ولكنه متغير وليس ثابت .

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

وكل عام وانتم بخير .ومنتظر ردكم

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

السلام عليكم

هنا اخي التعديل وقد قمت بارفاق ملفين

الاول في حالة كانت الخلية"f1" معادلة

والملف الثاني بمجرد التعديل بالخلية "f1" مباشرة

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

شكرا اخي كيماس للملاحظة وبارك الله فيك

مع الشكر كذلك لاخي ابو احمد

وشكرا اخي محمد على مرورك

التسلسل22.rar

التسلسل33.rar

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

الاستاذ الفاضل / الحسامى

تسلم الايادى ياباشا وربنا يخليك لنا ويبارك فيك

ولكن تبق ملحوظة بسيطة وهى فى الملف الثانى والذى فيه f1 بالمعادلة يوجد ملحوظة وهى عندما تتغير قيمة f1 نتيجة المعادلة من رقم أعلى وليكن مثلا 47 إلى رقم اقل مثلا وليكن 5 وكان التسلسل المعروض ينتهى عند الرقم 47 ونقوم بتغيير المعادلة الى الرقم 5 مثلا . يختلف التسلسل تماما وتظهر الملحوظة الذى ابداها استاذنا الجليل كيماس .وهذا مالااريده

وارفقت ملف موضح به المطلوب

التسلسل.rar

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

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

أخي الكريم فضل إن الكود الذي وضعه أخي الكريم الحسامي يعمل جيدا جزاه الله عنا ألف خير والمشكل معك أنك كررت الكود في ملفك مرة في كود الورقة 2 على الشكل:

Private Sub Worksheet_Activate()


[a3:a22] = Empty

If [f1].Value <> 0 Then

    If [a3] <> 0 Then x = [a3] + 19

    If Application.WorksheetFunction.CountIf([a3:a22], [f1]) = 1 Then x = 0

    [a3:a22] = Empty


   For i = 1 To 20

    Cells(i + 2, 1) = x + i

    If x + i >= [f1] Then Exit Sub

   Next i

Else

  [a3:a22] = Empty

End If


End Sub
والمرة الثانية في Module الذي وضعت له زر الأمر في الورقة وهو على الشكل:
Sub Button9_Click()

If [f1].Value <> 0 Then

   If [a3] <> 0 Then x = [a3] + 19

   If Application.WorksheetFunction.CountIf([a3:a22], [f1]) = 1 Then x = 0

   [a3:a22] = Empty


   For i = 1 To 20

    Cells(i + 2, 1) = x + i

    If x + i >= [f1] Then Exit Sub

   Next i

Else

  [a3:a22] = Empty

End If

End Sub

وحل المشكلة تم بحذف أحد الكودين وقد قمت بحذف كود الورقة 2 في الملف المرفق وإن شاء الله يكون حل لمسألتك...

أخوك بن علية

التسلسل.rar

قام بنشر

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

أخي الكريم فضل، اعتقدت أن الكود يعمل جيدا ولكني لما قمت بتجربته بقي يعطي الخطأالذي ذكرته بالأعلى، لذا قمت بتغيير طفيف عليه وذلك بتبديل السطر :

 If [a3] <> 0 Then x = [a3] + 19
بالسطر:
If [a3] <> 0 And [a3] <= [F1] Then x = [a3] + 19

وإن شاء الله يفلح هذا التغيير وتجد حلا لمسألتك... وإليك الملف المرفق التالي مع التغييرات الجديدة، ما عليك إلا تجربته والتحقق من عمل الكود بصفة صحيحة وسليمة...

أخوك بن علية

التسلسل2.rar

قام بنشر

اخى واستاذى العزيز / hben

تحية طيبة لشخصكم الكريم وعلى مروركم الكريم على مشاركتى

الحمد لله الكود يعمل بشكل سليم جدا . الف شكر لسيادتكم

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

وجزاكم الله كل خير على ماتقدموه من علم ومساعدة للاخرين

قام بنشر

الاخوة الاساتذة / كيماس " ابو عمر " - الحســــــــــــــــــــــامي - عبد الله الجرب " ابو احمد " - ابن علية :

مشكورين اساتذتي اعمال وردود مفيدة جدا نتعلم منها جميع

جزاكم الله كل الخير .... رائعون حقا

وفقكم الله

ياسر الحافظ " ابو الحارث "

  • 3 months later...
  • 3 weeks later...
قام بنشر

ايه الجمال ده

والله العظيم دا اجمل منتدى شوفته فى حياتى

اساتذه وعمالقه

ربنا يخليكم للمنتدى ويزيدكم علم ونور ونفضل نتعلم منكم للابد

قام بنشر

السلام عليكم

جزاكم الله اساتذتي الافاضل أكواد قمة في الروعة

الاخ فضل

بإمكانك تغير المعادلة التالية بالمعادلة التي في العمود B


=IF(ISERROR(VLOOKUP(ورقة2!A3;ورقة1!$A$2:$B$101;2));"";VLOOKUP(ورقة2!A3;ورقة1!$A$2:$B$101;2))

هي نفس المعادلة ولاكن مع اضافة بسيطه لإخفاء علامة الخطاء #N/A

  • 4 years later...
قام بنشر (معدل)
في ٢٥‏/٧‏/٢٠١١ at 16:42, فضل said:

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

كل عام وانتم بخير

مرفق ملف موضح به المطلوب

وجزاكم الله كل خير

التسلسل.rar

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

 

abo_abary_التسلسل.rar

تم تعديل بواسطه ابو عبدالبارى

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