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

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

قام بنشر (معدل)
ارجو توضيح الخطأ فى الكود على العلم ان الفورم يحتوى على 20 صف و11 عمود قمت بوضعهم داخل اطار frame 
 
 
On Error Resume Next
Dim sh As Worksheet
Set sh = Sheets("purchases")
Dim KH As Integer
Dim s As Long, r As Long
lr1 = sh.Range("e10000").End(xlUp).Row + 1
sh.Range("p" & lr1).Value = TextBox74.Value
sh.Range("q" & lr1).Value = TextBox75.Value
sh.Range("r" & lr1).Value = TextBox76.Value
sh.Range("s" & lr1).Value = TextBox77.Value
sh.Range("t" & lr1).Value = TextBox78.Value
sh.Range("u" & lr1).Value = TextBox79.Value
sh.Range("v" & lr1).Value = TextBox80.Value
sh.Range("w" & lr1).Value = TextBox81.Value
sh.Range("x" & lr1).Value = TextBox82.Value
sh.Range("y" & lr1).Value = TextBox83.Value
lr = sh.Cells(Rows.Count, "e").End(xlUp).Row
KH = 0
For s = 1 To 20 ' عدد الصفوف
For r = 1 To 11  ' عدد الاعمده
sh.Cells(lr + s, r + 4) = Me.Controls.Item(KH + r - 1).Value
Next
KH = KH + 10
With sh
.Range("e" & Rows.Count).End(xlUp).Offset(0, -4).Value = TextBox71.Value
.Range("e" & Rows.Count).End(xlUp).Offset(0, -3).Value = TextBox72.Value
.Range("e" & Rows.Count).End(xlUp).Offset(0, -2).Value = TextBox73.Value
.Range("e" & Rows.Count).End(xlUp).Offset(0, -1).Value = ComboBox31.Value
End With

form.rar

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

الأخ الكريم/ محمد توبه

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

المرفق صورة وليس ملف - ولم تبين بها رسالة الخطأ أو نوعه

فقط لاحظت بالنظر الكود غير مكتمل - ومبدئيا هناك أمر Next ناقص

حيث لديك أمرين For - وNext واحدة - لابد من الإضافة

لا أعرف مسار الكود جرب إضافتها قبل سطر With sh - علي النحو التالي

Next r
KH = KH + 10
Next s
With sh

تقبل تحياتي

قام بنشر

جزاك الله خيرا أ/ حماده 

 

الخطأ الذى اقصده يحدث عند ترحيل البيانات حيث البيانات لا ترحل فى اماكنها 

وكل ما كنت اقصده كان الكود يعمل معى بشكل جيد ولكن عند تغيير عدد الصفوف والاعمده فى الفورم لم يعد يعمل معى 

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

قام بنشر

الأخ الكريم/ محمد توبه

فهمتك - من المنطقي حدوث ذلك - لأنك غيرت أماكن الهدف للكود

دالة Offset تضع البيانات في خلايا متجاورة في أول سطر فارغ بنهاية الجدول

حاول التغيير في قيم Offset حتي يتم ترحيل كل بيان في مكانه الصحيح

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

قام بنشر

استاذى / حماده

 

 الكود يعمل معى بشكل جيد فيما عدا هذه الجزئيه 

               

KH = 0

For s = 1 To 15 ' عدد الصفوف
For r = 1 To 11  ' عدد الاعمده
sh.Cells(lr + s, r + 4) = Me.Controls.Item(KH + r - 1).Value
Next
KH = KH + 11
 
وجزاك الله خيرا على تعبك معى وجعله فى ميزان حسناتك
قام بنشر

السلام عليكم

حسب ماشاهدة في اكوادك فأن الخطاء هو خطاء منطقي 

حيث انك قبل بداية الحلاقات التكرارية صرحت بأن KH=0

ثم في حدث التنفيذ امرته بالكود Me.Controls.Item(KH + r - 1).Value 

في هذه الحالة ستكون نتيجة  0 عندما يكون r =1 

قام بنشر

الأخ الكريم/ محمد توبه

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

إضافة إلي ما قاله أخي وأستاذنا العزيز/ شوقي ربيع

والتأكد من أن قيمة KH لا ترجع الصفر في جميع الأحوال

أقترح إستبدال قيم الأعمدة والسطور الثابتة بقيم دينامية تتغير بتغير عدد الأعمدة والصفوف - مثال

iLastRow = Cells(Rows.Count, "a").End(xlUp).Row
iLastCol = Cells(1, Columns.Count).End(xlToLeft).Column

تقبل تحياتي

 

 
قام بنشر

السلام عليكم

 

حسب ماشاهدة في اكوادك فأن الخطاء هو خطاء منطقي 

حيث انك قبل بداية الحلاقات التكرارية صرحت بأن KH=0

ثم في حدث التنفيذ امرته بالكود Me.Controls.Item(KH + r - 1).Value 

في هذه الحالة ستكون نتيجة  0 عندما يكون r =1

 

 

ليس هناك خطا في ان تكون النتيجة صفر

يعني هذا التعبير صحيح  Me.Controls.Item(0).Value
لان الخاصية  TabIndex  تبدا بالقيمة صفر

 

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

               
KH = 0
For s = 1 To 15 ' عدد الصفوف
For r = 1 To 11  ' عدد الاعمده
sh.Cells(lr + s, r + 4) = Me.Controls.Item(KH + r - 1).Value
Next
KH = KH + 11

 

ولكن الخطا في ترتيب الخاصية TabIndex  لكل كنترول المعني بالترحيل

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

 

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

 

تقبلوا تحياتي وشكري

قام بنشر

 

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

 

 

أستاذنا الكبير/ عبدالله باقشير

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

جزاكم الله خير علي الطرح - غرضي أن يقوم الأخ السائل بتجربة الأمر والإطلاع علي الكود

مع محاولة إصلاح الخطأ بنفسه - وبحسب إعتقادي - التجربة والخطأ هي أفضل معلم .

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

قام بنشر

 

 

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

 

 

أستاذنا الكبير/ عبدالله باقشير

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

جزاكم الله خير علي الطرح - غرضي أن يقوم الأخ السائل بتجربة الأمر والإطلاع علي الكود

مع محاولة إصلاح الخطأ بنفسه - وبحسب إعتقادي - التجربة والخطأ هي أفضل معلم .

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

 

 

كلامك صحيح ......ولكن بالمرفق سيكون اكثر ايضاحا للسائل والمجيب وللحضور اجمع

وخاصة بمثل هذا الكود..........تفبلوا تحياتي وشكري

قام بنشر

استاذى ومعلمى أ/ عبد الله باقشير 

استاذى  / حماده 

استاذى /شوقى ربيع 

 

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

 

فقد تعلمت هذا الكود من اعمال الاستاذ الكبير / عبد الله باقشير ولكن بعد وضع التكست بوكس والكومبو بوكس المراد ترحيل البيانات منها داخل اطار frame لاستغل المساحه فى بيانات اخرى حدث خطأ فى الكود 

 

واسف ان كنت لم ارفق ملف لانه ملف كبير كنت اود ارفاقه كموضوع جديد فى المنتدى بعد ان انتهى منه 

 

لابرهن لاساتذتى ان مجهودكم لا يضيع هباء انما استطعتم ان تعلمو الكثير من العرب الكثير والكثير من العلم 

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