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

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

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

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

ممكن بعد اذنكم شرح مبسط لهذا الكود....خاصة السطر الاخير والذي قبله ولكم جزيل الشكر

 

Sub Test()
    Dim s As Worksheet
    Dim t As Worksheet
    Dim v As Variant
    Dim r As Long
 
    Set s = Sheets("تسجيل البيانات")
    Set t = Sheets("الكشوف النهائية")
    v = t.Range("P1").Value
 
    If Not IsNumeric(v) Or IsEmpty(v) Or v > 4 Then t.Range("B14").Resize(6, 4).ClearContents: Exit Sub
    r = (v * 6) + 5
 
    t.Range("B14").Resize(6, 4).Value = s.Range("A" & r).Resize(6, 4).Value
End Sub
 
تم تعديل بواسطه محمد محمد حمودة
قام بنشر
 
6 hours ago, محمد محمد حمودة said:
Dim s As Worksheet
    Dim t As Worksheet
    Dim v As Variant
    Dim r As Long

في البداية عرف جملة من المتغيرات 

أي حدد لرمز وضعه نوعاً 

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

6 hours ago, محمد محمد حمودة said:
    Set s = Sheets("تسجيل البيانات")
    Set t = Sheets("الكشوف النهائية")
    v = t.Range("P1").Value

الآن حدد ماهية كل من الرموز التي ذكرها 

6 hours ago, محمد محمد حمودة said:

If Not IsNumeric(v) Or IsEmpty(v) Or v > 4 Then t.Range("B14").Resize(6, 4).ClearContents: Exit Sub

حدد الشروط التالية :

إذا كان 

v

غير رقمي  أو خالياً أو أكبر من ٤

امحُ محتويات المجال الذي يبدأبالخلية

B14

و يمتد ٦ صفوف و ٤ أعمدة  ثم  أنهِ الكود .

6 hours ago, محمد محمد حمودة said:
    r = (v * 6) + 5
 
    t.Range("B14").Resize(6, 4).Value = s.Range("A" & r).Resize(6, 4).Value
 End Sub

إذا لم تتحقق الشروط إذا اجعل قيمة المتغير 

    r = (v * 6) + 5

و اجعل 

R

 رقم الصف للخلية 

A

في الورقة 

S

واجعل قيمة المجال 

b14

الممتد لأربعة أعمدة و ستة صفوف و الموجود في الورقة 

t

مساوياً للقيم في المجال 

و امتداده 

أي رحل من المجال

و امتداده إلى 

B

و امتداده 

ثم

End sub 

و التي تعني إغلاق الكود .

 

 

  • Haha 1
قام بنشر

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

الذي عرفته بالمتغير

v

في الخلية

p1

و الذي يبدو أنه رقم السجل

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

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

هي ثوابت في المعادلة لتتمكن من الحصول على المجال المطلوب

أي إذا أدخلت الرقم ٥

فستكون الخلية

هي

A ( 35)

و إذا أدخلت الرقم 10

فستكون الخلية

A ( 65)

عبارة عن معادلة حسابية بسيطة للغاية

و قد وضعها المبرمج بناء على تصميم الجدول الذي يحتوي البيانات

فكل مجموعة من الخلايا تشكل سجلاً مستقلاً .

أرجوأن  تكون الفكرة قد اتضحت .

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

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