صفحه 2 از 2 نخستنخست 12
نمایش نتایج: از شماره 11 تا 15 , از مجموع 15

موضوع: مشکل در کار با Instr

  1. #11


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,342
    امتیاز
    11574
    سپاس
    1,884
    سپاس شده
    8,164 در 3,010 پست
    تعیین سطح نشده است

    آیا اسامی شهرها در آخر جمله های شما قرار دارد؟

    اگر اسم شهرها در آخر باشد از کد ذیل استفاده کنید

    کد PHP:
    Sub test()

    Sheet1.Cells(Sheet1.Rows.Count"A").End(xlUp).Row

    For 1 To Z
    0
    For 1 To Len(Range("A" J))
    If 
    Mid(Range("A" J), i1) = " " Then
    i
    End 
    If
    Next
    Range
    ("b" J) = Right(Range("A" J), Len(Range("A" J)) - x)

    Next

    End Sub 
    فايل هاي پيوست شده فايل هاي پيوست شده
    • نوع فایل: xls Book1.xls اطلاعات (40.0 کیلو بایت, 8 نمایش)
    ویرایش توسط iranweld : 2016/04/12 در ساعت 11:19


  2.  

  3. #12


    آخرین بازدید
    2023/11/18
    تاریخ عضویت
    November 2015
    نوشته ها
    37
    امتیاز
    19
    سپاس
    27
    سپاس شده
    9 در 6 پست
    سطح اکسل
    40.00 %

    نقل قول نوشته اصلی توسط iranweld نمایش پست ها
    آیا اسامی شهرها در آخر جمله های شما قرار دارد؟

    اگر اسمی شهرها در آخر باشد از کد ذیل استفاده کنید

    کد PHP:
    Sub test()

    Sheet1.Cells(Sheet1.Rows.Count"A").End(xlUp).Row

    For 1 To Z
    0
    For 1 To Len(Range("A" J))
    If 
    Mid(Range("A" J), i1) = " " Then
    i
    End 
    If
    Next
    Range
    ("b" J) = Right(Range("A" J), Len(Range("A" J)) - x)

    Next

    End Sub 
    ممنون استاد ولی اسم شهرها الزاماً در انتهای عبارت نیست.

  4. #13


    آخرین بازدید
    2023/08/17
    تاریخ عضویت
    March 2015
    محل سکونت
    آمل
    نوشته ها
    3,342
    امتیاز
    11574
    سپاس
    1,884
    سپاس شده
    8,164 در 3,010 پست
    تعیین سطح نشده است

    نمونه فایل قرار بدید بهتر میشه تصمیم گیری کرد

  5. #14


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

    نقل قول نوشته اصلی توسط Masih60 نمایش پست ها
    اونوقت اگر اسم شهر در انتهای عبارت باشه، نشون داده نمیشه. مثلاً همون "پرشین شیراز". آخر "شیراز" که فاصله نیست. پس قاعدتاً نباید توی جواب بیاره. درست میگم؟

    بله دوست عزیز حق با شماست
    من بررسی کردم و یک کد براتون نوشتم. این کد رو میشه کوتاه تر هم نوشت اما یکم پیچیده میشه. بنابراین همینطوری بهتون میدم که بتونین راحت تر متوجه شید
    کد:
    Sub CityFinder()
    Dim farscity(3) As Variant
    Dim azarbayjancity(4) As Variant
    fars = Array("shiraz", "abade", "fars", "lar")
    azarbayjan = Array("orumie", "miandoab", "boukan", "khoy", "mahabad")
    For i = 2 To 1000
        provience = ""
        With Range("B" & i)
            ' search for fars cities
            For j = LBound(fars) To UBound(fars)
                Set farscity(j) = .Find(fars(j), , , xlWhole)
                If Not farscity(j) Is Nothing Then
                    provience = "Fars"
                    GoTo continuefor
                End If
            Next j
            ' search for azarbayjan cities
            For j = LBound(azarbayjan) To UBound(azarbayjan)
                Set azarbayjancity(j) = .Find(azarbayjan(j), , , xlWhole)
                If Not azarbayjancity(j) Is Nothing Then
                    provience = "Azarbayjan"
                    GoTo continuefor
                End If
            Next j
        End With
    continuefor:
    Next i
    End Sub

  6. سپاس ها (1)


  7. #15


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

    پستی که گذاشتم جواب شما رو نمیده متاسفانه
    این کد رو امتحان کنید

    کد:
    Sub CityFinder()
    fars = Array("shiraz", "abade", "fars", "lar")
    azarbayjan = Array("orumie", "miandoab", "boukan", "khoy", "mahabad")
    For i = 2 To 1000
        provience = ""
        If checkcity(fars, Range("B" & i)) Then provience = "Fars"
    Next i
    End Sub
    
    Function checkcity(cities As Variant, rng As Range) As Boolean
    checkcity = False
    cel = Split(rng.Value, " ")
    For i = LBound(cel) To UBound(cel)
        For j = LBound(cities) To UBound(cities)
            If cel(i) = cities(j) Then
                checkcity = True
                Exit Function
            End If
        Next j
    Next i
    End Function


صفحه 2 از 2 نخستنخست 12

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

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

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

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

  1. آموزشی تابع instr در vba
    توسط Ali Parsaei در انجمن توابع در ويژوال بيسيك - Functions in VBA
    پاسخ ها: 0
    آخرين نوشته: 2014/09/17, 23:02

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

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

کلمات کلیدی این موضوع

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

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

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