سلام
با اینکد میشه کلماتی که بین دو کلمه 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
مثلا به این حالت
کد ملی به نام محمدعلی صادره از ایران
تبدیل بشه به این حالت
محمد علی
|
اخطار: این یک موضوع قدیمی است به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید. |
|
علاقه مندی ها (Bookmarks)