سلام،
اشکال کار اينجا است که شما مقدارهاي موجود در سطر ها را ملاک قرار مي دهيد در صورتي که اينها متغيير (يا بعضا" تکراري) هستند و نبايد ملاک قرار بگيرند.
شما بايد شماره سطر را از فرم اوليه استخراج کنيد و موقع ثبت دستوري بنويسيد که در شيت برود آن شماره سطر را پيدا کرده و مقادير جديد را در آن جايگزين کند.
البته چون جدولتان از سطر سوم شروع مي شود يک منهاي دو هم بايد در دستور اعمال کنيد.
به عنوان مثال مي توانيد يک TEXTBOX در فرم دوم ايجاد کنيد (مي شود بنام تکست بکس 5) بعد قسمتي از کد فرم اول را اينجوري اصلاح کنيد:
کد:
Private Sub CommandButton1_Click()
virayesh.TextBox5.Value = Me.ListBox1.ListIndex + 1
virayesh.TextBox1.Value = Me.ListBox1.List(ListBox1.ListIndex, 0)
virayesh.TextBox2.Value = Me.ListBox1.List(ListBox1.ListIndex, 1)
virayesh.TextBox3.Value = Me.ListBox1.List(ListBox1.ListIndex, 2)
virayesh.TextBox4.Value = Me.ListBox1.List(ListBox1.ListIndex, 3)
virayesh.Show
End Sub
(فقط يک خط به ابتدايش اضافه شده)
و بعد کد دگمه ثبت در فرم دوم را هم اينجوري اصلاح کنيد:
کد:
Private Sub CommandButton3_Click()
Dim c As Range
For Each c In Sheet1.Range("c3:fehrest3")
If virayesh.TextBox5.Text = c.Row - 2 Then
c.Value = virayesh.TextBox1.Text
c.Offset(0, 1).Value = virayesh.TextBox2.Text
c.Offset(0, 2).Value = virayesh.TextBox3.Text
c.Offset(0, 3).Value = virayesh.TextBox4.Text
End If
Next
End Sub
بعد VISIBLE آن تکست بکس 5 را هم برابر FALSE بگذاريد که ديده نشود
راجع به حذف رديف ديگه نرسيدم فکر کنم! شايد همين راهنمايي کمک کند که آن را هم بر طرف کنيد
علاقه مندی ها (Bookmarks)