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

ارجو المساعدة عاجلاًً خطاء في كود


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

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

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

انا مستخدم جديد على الفجول بيسك والعمل على الاكواد 

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

المشكلة الاولى يظهر لي سطر باللون الاصفر لا اعرف ما هي المشكلة بالظبط

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

يعني مثال : عندي شيت صادر وشيت اخر وارد اريد الترحيل للشيت الصادر من الفورم لكن لم استطع الوصول إلى حل 

اتمنى منكم مساعدتي 

Private Sub CommandButton1_Click()
Sheets(1).Activate
lrow = Range("d" & Rows.Count).End(xlUp)
Range("d" & lrow + 4).Value = ComboBox1.Value
Range("d" & lrow + 4).Offset(0, 1).Value = TextBox1.Value
Range("d" & lrow + 4).Offset(0, 2).Value = TextBox2.Value
Range("d" & lrow + 4).Offset(0, 3).Value = TextBox3.Value
Range("d" & lrow + 4).Offset(0, 4).Value = TextBox4.Value
Range("d" & lrow + 4).Offset(0, 5).Value = TextBox5.Value
Range("d" & lrow + 4).Offset(0, 6).Value = TextBox6.Value
ComboBox1.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
End Sub

 

هذا هو الكود والخطاء يظهر لي بهذا الكود بالظبط Range("d" & lrow + 4).Value = ComboBox1.Value

انتظر منكم الحل وشكراً لكم 

ومن لدية طريقة اخرى اكون ممنون له اشكر كل اعضاء المنتدى القيم

مع السلامة 

تم ارفاق الملف 

UserForm1.rar

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

47 دقائق مضت, عبدالرحمن السويح said:

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

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

انا مستخدم جديد على الفجول بيسك والعمل على الاكواد 

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

المشكلة الاولى يظهر لي سطر باللون الاصفر لا اعرف ما هي المشكلة بالظبط

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

يعني مثال : عندي شيت صادر وشيت اخر وارد اريد الترحيل للشيت الصادر من الفورم لكن لم استطع الوصول إلى حل 

اتمنى منكم مساعدتي 

Private Sub CommandButton1_Click()
Sheets(1).Activate
lrow = Range("d" & Rows.Count).End(xlUp)
Range("d" & lrow + 4).Value = ComboBox1.Value
Range("d" & lrow + 4).Offset(0, 1).Value = TextBox1.Value
Range("d" & lrow + 4).Offset(0, 2).Value = TextBox2.Value
Range("d" & lrow + 4).Offset(0, 3).Value = TextBox3.Value
Range("d" & lrow + 4).Offset(0, 4).Value = TextBox4.Value
Range("d" & lrow + 4).Offset(0, 5).Value = TextBox5.Value
Range("d" & lrow + 4).Offset(0, 6).Value = TextBox6.Value
ComboBox1.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""
TextBox3.Value = ""
TextBox4.Value = ""
TextBox5.Value = ""
TextBox6.Value = ""
End Sub

 

هذا هو الكود والخطاء يظهر لي بهذا الكود بالظبط Range("d" & lrow + 4).Value = ComboBox1.Value

انتظر منكم الحل وشكراً لكم 

ومن لدية طريقة اخرى اكون ممنون له اشكر كل اعضاء المنتدى القيم

مع السلامة

ارفع الملف للمعالجة و معرفة الخطأ  

رابط هذا التعليق
شارك

13 ساعات مضت, ياسر خليل أبو البراء said:

أخي الكريم ارفق الملف نفسه وليس الفورم فقط .. حيث عند استيراد الفورم يحدث خطأ 

تم ارفاق الملف كامل ارجو المساعدة منكم 

وشكراً اخي ياسر وسليم على اهتمامكم 

غفر الله لي ولكم وسائر المسلمين 

انتظر منكم الحل مع السلامة

الصادر والوارد.rar

رابط هذا التعليق
شارك

جرب التعديل التالي

Private Sub CommandButton1_Click()
    Sheets(1).Activate
    lrow = Range("d" & Rows.Count).End(xlUp).Row + 1
    Range("d" & lrow).Value = ComboBox1.Value
    Range("d" & lrow).Offset(0, 1).Value = TextBox1.Value
    Range("d" & lrow).Offset(0, 2).Value = TextBox2.Value
    Range("d" & lrow).Offset(0, 3).Value = TextBox3.Value
    Range("d" & lrow).Offset(0, 4).Value = TextBox4.Value
    Range("d" & lrow).Offset(0, 5).Value = TextBox5.Value
    Range("d" & lrow).Offset(0, 6).Value = TextBox6.Value
    ComboBox1.Value = ""
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""
    TextBox4.Value = ""
    TextBox5.Value = ""
    TextBox6.Value = ""
End Sub

 

  • Like 1
رابط هذا التعليق
شارك

منذ ساعه, ياسر خليل أبو البراء said:

جرب التعديل التالي


Private Sub CommandButton1_Click()
    Sheets(1).Activate
    lrow = Range("d" & Rows.Count).End(xlUp).Row + 1
    Range("d" & lrow).Value = ComboBox1.Value
    Range("d" & lrow).Offset(0, 1).Value = TextBox1.Value
    Range("d" & lrow).Offset(0, 2).Value = TextBox2.Value
    Range("d" & lrow).Offset(0, 3).Value = TextBox3.Value
    Range("d" & lrow).Offset(0, 4).Value = TextBox4.Value
    Range("d" & lrow).Offset(0, 5).Value = TextBox5.Value
    Range("d" & lrow).Offset(0, 6).Value = TextBox6.Value
    ComboBox1.Value = ""
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""
    TextBox4.Value = ""
    TextBox5.Value = ""
    TextBox6.Value = ""
End Sub

 

شكراً لك على مساعدتي 

تمام 100% لكن اتمنى لك ان تشرح لي بإختصار ما هو هذا الخلل في الكود 

حتى اتفادى في المرات القادمة وانا جديد على هذه الاعمال 

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

واشكرك على مجودك الرائع 

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

في أمان الله 

اسف على ازعاجك لكن نسيت حاجة وحدة 

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

وهي كالتالي

انا قمت بعمل شيت صادر وشيت وارد 

وانهيت عمل الفورم بالنسبة للوارد

الأن اذا اردت ان اعمل للصادر 

هل استخدم نفس الكود دون تعديل 

او يوجد تعديل بحيث ان اذا فتحت فورم الوارد يرحل لشيت الوارد واذا فتحت فورم الصادر يرحل الصادر 

واسف على ازعاجك مرة اخرى 

دمت بود

مع السلامة

رابط هذا التعليق
شارك

الخطأ كان في هذا السطر بشكل خاص

lrow = Range("d" & Rows.Count).End(xlUp)

حيث يشير إلى نطاق والمطلوب أن يكون معبر عن رقم آخر صف لذا تمت إضافة الخاصية .Row وهي تجلب رقم آخر صف ... وبما أننا نريد وضع بيانات في صف جديد فتم إضافة الرقم 1

 

إذا أردت الإشارة لورقة عمل أخرى سيكون عليك أن تغير رقم فهرس الورقة من خلال السطر التالي

Sheets(1).Activate

 

  • Like 1
رابط هذا التعليق
شارك

56 دقائق مضت, ياسر خليل أبو البراء said:

الخطأ كان في هذا السطر بشكل خاص


lrow = Range("d" & Rows.Count).End(xlUp)

حيث يشير إلى نطاق والمطلوب أن يكون معبر عن رقم آخر صف لذا تمت إضافة الخاصية .Row وهي تجلب رقم آخر صف ... وبما أننا نريد وضع بيانات في صف جديد فتم إضافة الرقم 1

 

إذا أردت الإشارة لورقة عمل أخرى سيكون عليك أن تغير رقم فهرس الورقة من خلال السطر التالي


Sheets(1).Activate

 

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

ولكن عندي تساؤل لماذا لم تستعمل الحلقة For Nxet

Private Sub CommandButton1_Click()
    Sheets(1).Activate
    lrow = Range("d" & Rows.Count).End(xlUp).Row + 1
    Range("d" & lrow).Value = ComboBox1.Value
        For i = 1 To 6
                 Range("d" & lrow).Offset(0, i).Value = Controls("TextBox" & i).Value
                 Controls("TextBox" & i).Value = ""
        Next
    End Sub


 

  • Like 1
رابط هذا التعليق
شارك

4 ساعات مضت, ياسر خليل أبو البراء said:

الخطأ كان في هذا السطر بشكل خاص


lrow = Range("d" & Rows.Count).End(xlUp)

حيث يشير إلى نطاق والمطلوب أن يكون معبر عن رقم آخر صف لذا تمت إضافة الخاصية .Row وهي تجلب رقم آخر صف ... وبما أننا نريد وضع بيانات في صف جديد فتم إضافة الرقم 1

 

إذا أردت الإشارة لورقة عمل أخرى سيكون عليك أن تغير رقم فهرس الورقة من خلال السطر التالي


Sheets(1).Activate

 

شكراً لك 

واسف على ازعاجك 

ننتظر جديدك 

اخوك عبدالرحمن السويح 

  • Like 1
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

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



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information