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

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

قام بنشر

هل يمكن التنقل بانتر بين الخلايا

اخواني جزاكم الله خير الجزاء للجهد المبذول والمساعدة الدائمة

سؤالي

هل يمكن التنقل بين خلايا معينة بانتر وهي الخلايا التي يراد ادخال البيانات بها وتجاوز الخلايا التي بها معادلات وبترتيب معين سواء برمجيا او بادوات الاكسل طريقة بخلاف حماية الورقة وترك بعض الخلايا فقط بدون حماية

ارجوا ان يكون طلبي واضح

اتمنى ان تساعدوني وياريت يكون برمجيا

في انتظار ردودكم

قام بنشر

أخي الكريم

نعم يمكن التنقل بين خلايا الإدخال عن طريق الإنتر و ذلك من خلال فقل الخلايا الباقية ...

أما عن تنقلها بترتيب معين أرسل لي الملف و سأعمل على ذلك

معتز

قام بنشر

اخي محمد السلام عليكم

انظر للمرفق واذا كانت الفكرة تناسبك انسخ الكود مع تغيير الخلايا التي تريد التنقل لها

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

__________________.rar

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

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

اخي زيزو اشكر استجابتك وردك

اخي نزار بارك الله فيك

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

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

اشكركم جميعا وبارك الله فيكم وزادكم علما

ولو في اي اضافات سوف اوافيك باذن الله

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

اخي الحبيب justice السلام عليكم

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

شكرا اخي gamalin على هذا الاطراء ففعلا هذه الاخوة فانا افتقدتك منذ فترة لم اجد مشاركاتك فاهلا بعودتك

وشكرا مجددا

قام بنشر

اخي نزار جزاك الله خيرا وكل شي تمام وزي الفل بس لو ممكن تشرح لي معني هذا الجزء من الكود اكون شاكر

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Row <> 11 Or Target.Column Mod 2 = 1 Then Exit Sub

If Target.Row = 11 Then

Cells(1, Target.Column + 2).Select

End If

End Sub

وايضا من الكود الاخر

Private Sub Worksheet_SelectionChange1(ByVal Target As Range)

Dim i As Integer

Dim iRow As Integer

For i = 1 To 10

iRow = Choose(i, 6, 5, 15, 10, 16, 21, 1, 17, 13, 2)

Cells(iRow, 4) = i

Next i

End Sub

اما الباقي فهو جميل ومفهوم والكود بغض النظر عن الجزء غير المفهوم منه سهل خاصة بملف test2 وسهل جدا التعديل فيه

اشكرك

قام بنشر
اخي الحبيب justice السلام عليكم

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

شكرا اخي gamalin على هذا الاطراء ففعلا هذه الاخوة فانا افتقدتك منذ فترة لم اجد مشاركاتك فاهلا بعودتك

وشكرا مجددا

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

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

انا سعيد جدا بردودكم جميعا جزاكم الله خيرا

قام بنشر

اخي الحبيب

نستعرض الكود الاول وبجانبه الشرح

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Row <> 11 Or Target.Column Mod 2 = 1 Then Exit Sub هنا ان يتم التنقل من العمود 2 ولا يزيدعن السطر العاشر

If Target.Row = 11 Then الشرط هنا عندما يصل المؤشر الى السطر 11 يقوم بالتالي

Cells(1, Target.Column + 2).Select هذه نتيجة الشرط عند وصو المؤشر الى السطر 11 انتقل الى العمود بعد التالي

لماذا بعد التالي وليس العمود التالي مباشرة وذلك Cells(1, Target.Column + 2).Select لوجود رقم 2 اما اذا احببت العمود التالي مباشرة فعدل رقم 2 الى 1 وهكذا اي شرط تضيفه

End If نهاية الشرط

End Sub

اما الكود الاخر فهو

Private Sub Worksheet_SelectionChange1(ByVal Target As Range)

Dim i As Integer

Dim iRow As Integer

For i = 1 To 10

iRow = Choose(i, 6, 5, 15, 10, 16, 21, 1, 17, 13, 2)

Cells(iRow, 4) = i

Next i

End Sub

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

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim i As Integer

Application.EnableEvents = False

If Cells(65000, 1).Value = 7 Then Cells(65000, 1).Value = 0

Cells(65000, 1).Value = Cells(65000, 1).Value + 1

i = Cells(65000, 1).Value

Range("r_" & i).Select

Application.EnableEvents = True

End Sub

مع الشكر

قام بنشر
اخي الحبيب

اما الكود الاخر فهو

Private Sub Worksheet_SelectionChange1(ByVal Target As Range)

Dim i As Integer

Dim iRow As Integer

For i = 1 To 10

iRow = Choose(i, 6, 5, 15, 10, 16, 21, 1, 17, 13, 2)

Cells(iRow, 4) = i

Next i

End Sub

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

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

لنكن متعلمين والا ايه

جزاك الله خيرا اخي ونفعك بعلمك ونفع بك

قام بنشر
االسلام عليكم

حل اخر خطر ببالى و انا متفرغ

عدل كما تشاء في اسما النطاقات

اعتذااااااااااااااااااااااااار شديد لاخي الحبيب ابو اسامة

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

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

كل ما في الامر اني وجدت المكتبة التي في توقع اخونا فزرتها ووجدت بها من العلم النافع الكثير فشكرته وقلت له جزاك الله خيرا على المكتبة فرد علي وما دخل المكتبة بموضوعك فحذفت العبارة التي ضايقته وعذرا لاني كان المفروض ان احذف الرد كاملا

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

وهذا ليس جديدا على اخي عمر فهو ليس مميز بعلمه فقط بل بخلقه وادبه

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

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

السلام عليكم

اخى الحبيب

يقول تعالى في الحديث القدسى

"انا اغنى الاغنياء عن الشرك"

عندما اقوم بعمل اقصد منه الاتى :

1- وجه الله تعالى

2-مساعدة الاخوه

3-انا استفيد و اتعلم اكثر مما يستفيد السائل

4-انا لا استعرض عضلات

5- لا انتظر من احد ردا او شكرا وا كيلا للمدائح

***************

اما شرح الكود الذى سالت عنه فهو كالاتى :

تعريف المتغيرين I & iRow كرقم

استخدمت الداله choose مع المتغير i

الداله choose

لها 2 بارميتر

الاول ليحدد موقع العنصر المختار من البارميتر الثانى (العناصر)

البارميتر الثانى تاخذ عده عناصر تفصل بينها ,

مثلا

choose(1,10,9,8,7,6,5,4,3,2,1)
هنا الداله ترجع الرقم الاول من السلسله و هو 10
choose(2,10,9,8,7,6,5,4,3,2,1)

هنا الداله ترجع الرقم الثانى من السلسله و هو 9

و هكذا

نعود للكود

i = 1 to 10

iRow = Choose(i, 6, 5, 15, 10, 16, 21, 1, 17, 13, 2)

i ستكون في الدوره الاولى 1 اذا ستختار العنصر الاول في السلسه و هو 6

اذا irow = 6

اذا اضفنا 6 الى 4 في عنوان الخليه cells(irow,4) ستكون اذا cells(6,4) اي d6

ثم اخيرا يجعل هذه الخليه قيمتها = I

و i = تساوى 1

اذا الخليه d6 ستساوى 1

في الدوره التاليه

ستكون i =2 و ستختار العنصر الثانى من السلسله وهو 5

و هكذا

و الله الموفق

omarhajy@hotmail.com

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

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

اشكركم جميعا وبارك الله فيكم وزادكم علما

ولو في اي اضافات سوف اوافيك باذن الله

جزاك الله خير اخي ابو اسامة

الى الآن لااعلم لما هذه الاعذار والتداخلات على شئ مش مستاهل الكتابة فيه خصوصا اذا تم التنويه من قبل السائل بجميع الافراد الذين قاموا بالرد

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