نمایش نتایج: از شماره 1 تا 8 , از مجموع 8

موضوع: کد حذف کلمه های بین دو ایتم مورد نظر

  1. #1


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    590
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    کد حذف کلمه های بین دو ایتم مورد نظر

    سلام
    با اینکد میشه کلماتی که بین دو کلمه 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

    مثلا به این حالت
    کد ملی به نام محمدعلی صادره از ایران

    تبدیل بشه به این حالت
    محمد علی
    اخطار: این یک موضوع قدیمی است
    به دلیل قدیمی بودن موضوع، ممکن است برخی فایل های ضمیمه به درستی کار نکنند. لطفا در صورت عدم ضرورت، از بالا آوردن موضوعات قدیمی خودداری نمایید.
    ویرایش توسط ali.b : 2017/11/06 در ساعت 10:20


  2.  

  3. #2


    آخرین بازدید
    2022/06/26
    تاریخ عضویت
    January 2013
    محل سکونت
    شیراز
    نوشته ها
    1,198
    امتیاز
    3248
    سپاس
    1,566
    سپاس شده
    3,182 در 795 پست
    سطح اکسل
    84.00 %

    با درود دوست عزیز
    شاید اصلا نیازی به کد نداشته باین البته شاید. شما اگر دریت حدس زده باشم به اسم اشخاص که بین نام و صادره قرار دارن نیاز دارین. خب با پیدا کردن مکان نام و صادره در تکست و یکم بازی با فرمول mid میتونین به نتیجه دلخواهتون برسین مثلا اگر همبن عبارت رو در سل K11 نوشته باشیم این فرمول شمار رو باید به نتیجه دلخواه برسونه

    کد:
    =MID(K11,FIND("نام",K11,1)+4,(FIND("صادره",K11,1)-FIND("نام",K11,1))-4-1)
    در پناه خداوندگار ایران زمین باشید و پیروز


  4. #3


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    590
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط امين اسماعيلي نمایش پست ها
    با درود دوست عزیز
    شاید اصلا نیازی به کد نداشته باین البته شاید. شما اگر دریت حدس زده باشم به اسم اشخاص که بین نام و صادره قرار دارن نیاز دارین. خب با پیدا کردن مکان نام و صادره در تکست و یکم بازی با فرمول mid میتونین به نتیجه دلخواهتون برسین مثلا اگر همبن عبارت رو در سل K11 نوشته باشیم این فرمول شمار رو باید به نتیجه دلخواه برسونه

    کد:
    =MID(K11,FIND("نام",K11,1)+4,(FIND("صادره",K11,1)-FIND("نام",K11,1))-4-1)
    سلام دقیقا ولی من ی برنام نوشتم که ممکنه 100 تا 150 رنج رو پوشش بده و این کد رو اعمال کنم.دقیقا عین فایل ضمیمه ولی عکس عملکرد اون


  5. #4


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    590
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    دوستان راه حلی نیست؟


  6. #5


    آخرین بازدید
    یک روز پیش
    تاریخ عضویت
    November 2013
    محل سکونت
    تهران
    نوشته ها
    1,518
    امتیاز
    6118
    سپاس
    2,884
    سپاس شده
    4,886 در 1,380 پست
    سطح اکسل
    71.67 %

    سلام،
    به فرض براي سل a1 تا a100 از اين کد مي توانيد استفاده کنيد:


    برای دیدن سایز بزرگ روی عکس کلیک کنید

نام:  PARSA.JPG
مشاهده: 20
حجم:  19.8 کیلو بایت

  7. سپاس ها (3)


  8. #6


    آخرین بازدید
    51 دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,472
    امتیاز
    12316
    سپاس
    8,923
    سپاس شده
    10,587 در 3,746 پست
    سطح اکسل
    100.00 %

    اگر یکم بخوایم داینامیک تر کنیم به این صورت میشه:
    کد:
    Sub j()
    Dim firstStr As String
    Dim secondStr As String
    Dim Str As String
    Dim pos1 As Integer
    Dim pos2 As Integer
    
    
    firstStr = Range("B1").Value
    secondStr = Range("B2").Value
    
    
    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
            finalString = Mid(Str, pos1 + Len(firstStr), Len(Str) - pos2 - Len(secondStr))
            ' MsgBox finalString
            Cells(i, 1) = finalString
        End If
    Next i
    End Sub



  9. سپاس ها (4)


  10. #7


    آخرین بازدید
    تاریخ عضویت
    January 2014
    نوشته ها
    798
    امتیاز
    1667
    سپاس
    590
    سپاس شده
    1,242 در 436 پست
    تعیین سطح نشده است

    نقل قول نوشته اصلی توسط Amir Ghasemiyan نمایش پست ها
    اگر یکم بخوایم داینامیک تر کنیم به این صورت میشه:
    کد:
    Sub j()
    Dim firstStr As String
    Dim secondStr As String
    Dim Str As String
    Dim pos1 As Integer
    Dim pos2 As Integer
    
    
    firstStr = Range("B1").Value
    secondStr = Range("B2").Value
    
    
    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
            finalString = Mid(Str, pos1 + Len(firstStr), Len(Str) - pos2 - Len(secondStr))
            ' MsgBox finalString
            Cells(i, 1) = finalString
        End If
    Next i
    End Sub


    سلام من زدم جواب نداد میشه تو فایل نمونه قرار بدین؟


  11. #8


    آخرین بازدید
    51 دقیقه پیش
    تاریخ عضویت
    September 2013
    محل سکونت
    بچه محل آقا امام رضا
    نوشته ها
    4,472
    امتیاز
    12316
    سپاس
    8,923
    سپاس شده
    10,587 در 3,746 پست
    سطح اکسل
    100.00 %

    نقل قول نوشته اصلی توسط ali.b نمایش پست ها
    سلام من زدم جواب نداد میشه تو فایل نمونه قرار بدین؟
    خدمت شما
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xlsm Book1.xlsm اطلاعات (14.3 کیلو بایت, 4 نمایش)

  12. سپاس ها (2)



اطلاعات موضوع

کاربرانی که در حال مشاهده این موضوع هستند

در حال حاضر 1 کاربر در حال مشاهده این موضوع است. (0 کاربران و 1 مهمان ها)

موضوعات مشابه

  1. پرسش فراخوانی داده بین شیتها و حذف داده های صفر
    توسط rest در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 1
    آخرين نوشته: 2016/05/14, 09:02
  2. سر جمع سطرهای مختلف در شیتهای مختلف
    توسط sadeghj در انجمن توابع اکسل - Excel Functions
    پاسخ ها: 1
    آخرين نوشته: 2013/03/06, 08:47
  3. قفل کردن کلیه شیتهای یک فایل
    توسط Amirsayyafi در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 6
    آخرين نوشته: 2012/09/16, 09:28
  4. کمبوباکس با امکان انتخاب چند آیتم
    توسط mahsa shayesteh در انجمن سوالات پیرامون ويژوال بيسيك - VBA Questions
    پاسخ ها: 3
    آخرين نوشته: 2012/08/10, 14:53
  5. ترکیب شیتهای مختلف
    توسط Amirsayyafi در انجمن سوالات اكسل - Excel Questions
    پاسخ ها: 3
    آخرين نوشته: 2012/06/14, 01:21

بازدید کنندگان با جستجو های زیر این صفحه را پیدا کرده اند

انجمن اكسل ايران , اكسل , اكسس , سوال و جواب اكسل , سوال اكسس , انجمن اكسل ايران , توابع اكسل, آموزش اكسل, آموزش اكسس, VBA, ويژوال بيسيك

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  
  • BB code ها فعال هستند
  • شکلک ها فعال هستند
  • کد [IMG] فعال است
  • کد [VIDEO] فعال است
  • کد HTML غیر فعال است