سلام
با اینکد میشه کلماتی که بین دو کلمه firstStr و secondStr مشخص میشن رو پاک کنه
اما من میخوام دقیقا برعکس عمل کنه یعنی هرچی بین firstStr و secondStr هستند رو نگه داره و بقیه رو پاک کنه
ممنون میشم راهنمایی کنید
با تشکر
مثلا به این حالت
کد ملی به نام محمدعلی صادره از ایران
تبدیل بشه به این حالت
محمد علی
با اینکد میشه کلماتی که بین دو کلمه firstStr و secondStr مشخص میشن رو پاک کنه
اما من میخوام دقیقا برعکس عمل کنه یعنی هرچی بین firstStr و secondStr هستند رو نگه داره و بقیه رو پاک کنه
ممنون میشم راهنمایی کنید
با تشکر
کد:
Sub j()Dim firstStr As String Dim secondStr As String Dim Str As String Dim pos1 As Integer Dim pos2 As Integer firstStr = "نام" secondStr = "صادره" For i = 1 To 500 Str = Cells(i, 1) ' here i represents row, and 1 means first column pos1 = InStr(UCase(Str), UCase(firstStr)) pos2 = InStr(UCase(Str), UCase(secondStr)) If pos1 = 0 Or pos2 = 0 Then ' MsgBox "Something goes wrong" Else StringToDelete = Mid(Str, pos1, pos2 - pos1 + Len(secondStr)) finalString = Replace(Str, StringToDelete, "") ' MsgBox finalString Cells(i, 1) = finalString End If Next i End Sub
مثلا به این حالت
کد ملی به نام محمدعلی صادره از ایران
تبدیل بشه به این حالت
محمد علی
کامنت