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

تعديل كود ترحيل البيانات من الفورم الى صفحة الإكسيل


إذهب إلى أفضل إجابة Solved by أ / محمد صالح,

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

السلام عليكم أساتذتى الأفاضل ... أرجو التكرم على مساعدتى فى ضبط وتعديل كود الترحيل من الفورم الى صفحة Setting على ان يكون نطاق الترحيل بداية من الخلية K2  الى العمود N وان يتسلسل الترحيل ولا يترك أى صف فارغ بمعنى ان يكون تحت بعض مع العلم ان هناك سطر بالكود يمنع تكرار الأرقام المرحلة الى العمود K ولكم جزيل الشكر وبارك الله فى جهودكم

Option Explicit
Private Sub cmdAdd_Click()
Dim iRow As Long
Dim ws As Worksheet
Dim lasts As Integer
Set ws = Worksheets("Setting")
lasts = Application.WorksheetFunction.CountIf(Sheet10.Range("K2:K10000"), txtPart.Value)
If lasts > 0 Then
MsgBox "هذا الإسم موجود بالفعل", vbCritical, "تنبيه"
End If
Exit Sub
iRow = ws.Cells.Find(What:="*", SearchOrder:=xlRows, _
    SearchDirection:=xlPrevious, LookIn:=xlValues).Row + 1
If Trim(Me.txtPart.Value) = "" Then
  Me.txtPart.SetFocus
  MsgBox "Please enter a part number"
  Exit Sub
End If
'copy the data to the database
ws.Cells(iRow, 11).Value = Me.txtPart.Value
ws.Cells(iRow, 12).Value = Me.txtLoc.Value
ws.Cells(iRow, 13).Value = Me.txtDate.Value
ws.Cells(iRow, 14).Value = Me.TextBox1.Value
'clear the data
Me.txtPart.Value = ""
Me.txtLoc.Value = ""
Me.txtDate.Value = ""
Me.TextBox1.Value = ""
Me.txtPart.SetFocus
End Sub

Forme.xlsb

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

  • أفضل إجابة

المشكلة في الخروج من الاجراء قبل تكملة تنفيذ الكود

If lasts > 0 Then
MsgBox "هذا الإسم موجود بالفعل", vbCritical, "تنبيه"
End If
Exit Sub

والصواب

If lasts > 0 Then
MsgBox "هذا الإسم موجود بالفعل", vbCritical, "تنبيه"
Exit Sub
End If

ولا ادري ما السبب في استعمال كود غريب لجلب آخر صف مكتوب فيه

iRow

الطبيعي استعمال 

end(xlup). row

بالتوفيق

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

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

Forme.xlsb

1.png

Forme.xlsb

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

لا مشكلة في الكود والترحيل صحيح

فقط قم بحذف السطور المكتوبة بالأسفل

تقريبا في الصف 202

وسيرحل بعدها الى بعد 100

بالتوفيق

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

شكراً لكم جميعاً ...ولكن لم يتغير شيء ومازالت المشكلة قائمة ..فهل هذا بسبب ان هناك بيانات فى الأعمدة التى تسبق العمود K أم ماذا ؟!!!!!

توصلت الى الحل بإضافة هذا الجزء من الكود ... فشكراً لكم جميعاً على جهودكم ومساعدتكم

iRow = ws.Cells(Rows.Count, 11) _
  .End(xlUp).Offset(1, 0).Row

 

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

زائر
هذا الموضوع مغلق.
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information