با درود
اگر با کد بخوای انجام بدی قبل از اینکه ثبت اطلاعات انجام بشه . راه های گوناگونی وجود داره مثل حلقه و توابع خود اکسل. به نظرم برا شما countif راحت تره. مثلا شما توی فرمتون یا هر جا اسمی رو داری وارد میکنی( هر چند ترجیح میدم به جای اسم به هر فرد یه کد پرسنلی منحصر به فرد داده بشه) با این تابع اول تعدادش رو میشمری اگر برار یک بود یعنی قبلا هست . پس ادامه نمیده و یه پیام هم مبنی بر تکراری میده و از برنامه کلید ثبتتون میاد بیرون. اگرم نه که ادامه کد ها انجام میشه. جای این چک کردن هم میشه تو خطوط اول برنامه قبل از ثبت اطلاعات. فرض کنین شما توی ستون A کلی اسم دارین. اول باید ببینیم تا کجا اسم وارد شده واسه راحتی کار. و بعد مثلا میخواین ببینین اسمی که تو سل B1 نوشته شده تو این ستون هست یا نه پس داریم.
کد HTML:
Private Sub CommandButton1_Click()
Dim n
n = Application.WorksheetFunction.CountA(Sheet1.Range("A:A"))
If Application.WorksheetFunction.CountIf(Sheet1.Range("A1:A" & n), Sheet1.Range("B1")) = 1 Then
MsgBox "duplicate name! sorry we cannot continue with this name"
Exit Sub
End If
'''''''''''
'' your codes if the name was not exist before should be written here
End Sub
حالا این کد رو تو فایل خودت میتونی به سلیقه خودت اصلاح کنی و به کار ببری
علاقه مندی ها (Bookmarks)