جدا سازی 5 کلمه اول یک سلول

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • aloyoun

    • 2020/08/22
    • 6

    پرسش جدا سازی 5 کلمه اول یک سلول

    سلام وقت بخیر
    میدونم در باره این موضوع مقاله زیاد هموشن رو مطالعه کردم و بعد اینجا درخواست دادم
    به دلیل اینکه تمام مقالات یک چیزی رو کم دارند
    که در ادامه توضیح میدم خدمتتون .
    توضیح کلی : بنده میخوام چندین هزار محصول رو یک جا داخل سایت قرار بدم ، باید از اکسل اسفتاده بشه ، برای بخش تگ ها نیاز به تگ انتخابی از نام محصول دارم ...

    در ادامه ...





    همونطور که مشاهده میکنید نام هر فایل به طور کامل درج شده ، محصول + نوع بسته بندی + شرکت تولید کننده

    با توجه به اینکه مقادیر ثابت نیستند .... نیاز دارم از بین این اسامی #تگ های استخراج کنم که همه کار ها اتوماتیک انجام بشه ...
    ولی داخل تگ ها نیاز به سایز یا وزن بسته بندی نداریم .
    درواقعه میخوام 5 کلیمه یا 4 کلمه جدا بشه ، با توجه به اینکه بینشون فاصله اسپیس وجود داره ... لطفا راهنمایی بفرمایید که چجوری 5 کلیمه اول رو استخراج کنم .

    ممنون .
    Last edited by aloyoun; 2020/08/22, 22:47. دلیل: لینک عکس درج نشده بود
  • M_ExceL

    • 2018/04/23
    • 677

    #2
    با سلام،
    ورود شما را به انجمن اکسل ایران خوش آمد می گوییم
    لطفا در صورت امکان فایلی با داده های فرضی پیوست کنید تا بررسی کنیم
    [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
    [/CENTER]

    کامنت

    • aloyoun

      • 2020/08/22
      • 6

      #3
      سلام مجدد
      تقدیم شما .

      کامنت

      • M_ExceL

        • 2018/04/23
        • 677

        #4
        نوشته اصلی توسط aloyoun
        سلام مجدد
        تقدیم شما .
        http://s10.picofile.com/file/8406469...frum.xlsx.html
        با سلام،
        اگر درست متوجه شده باشم شما قصد دارید متونی مانند "10 عددی" یا "90 گرمی" از نام محصول حذف بشه؟
        [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
        [/CENTER]

        کامنت

        • aloyoun

          • 2020/08/22
          • 6

          #5
          سلام بله درسته .

          کامنت

          • M_ExceL

            • 2018/04/23
            • 677

            #6
            نوشته اصلی توسط aloyoun
            سلام بله درسته .
            با سلام،
            از تابع زیر طبق فایل پیوست استفاده کنید :
            کد:
            Function STR_T(STR As String, RNG_DL_WORDS As Range) As String
            Dim DSTRS
            Dim SPILITVALUES
            DSTRS = RNG_DL_WORDS.Value
            SPILITVALUES = Split(STR, Chr(32))
            For Each SITM In SPILITVALUES
                B = True
                For Each DITM In DSTRS
                    If InStr(SITM, DITM) > 0 Or IsNumeric(SITM) Then
                    B = False
                    Exit For
                    End If
                Next
                If B = True And ASTR = Empty Then
                ASTR = SITM
                ElseIf B = True Then
                ASTR = ASTR + Chr(32) + SITM
                End If
            Next
            STR_T = ASTR
            End Function
            توضیح :
            ماکرو را فعال کنید
            ارگومان STR سلول حاوی متن می باشد
            ارگومان RNG_DL_WORDS رنج کلمات حذفی می باشد
            لیست کلمات حذفی رو می تونید افزایش بدید و داخل تابع رنج مورد نظر رو ست کنید
            فایل های پیوست شده
            [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
            [/CENTER]

            کامنت

            • aloyoun

              • 2020/08/22
              • 6

              #7
              خیلی ممنون لطف کردید عالی شد فقط یک موضوع دیگه پیش اومد .به دلیل اینکه برای استفاده تگ محصول میخوام استفاده کنم بیشتر از 4 کلمه برای گوگل مطلوب نیست ، نهایت 5 کلمه ، حالا چجوری میتونم کلمات باقی مونده رو به تعداد 3 - 4 یا 5 عدد تغییر بدم ؟

              کامنت

              • M_ExceL

                • 2018/04/23
                • 677

                #8
                نوشته اصلی توسط aloyoun
                خیلی ممنون لطف کردید عالی شد فقط یک موضوع دیگه پیش اومد .به دلیل اینکه برای استفاده تگ محصول میخوام استفاده کنم بیشتر از 4 کلمه برای گوگل مطلوب نیست ، نهایت 5 کلمه ، حالا چجوری میتونم کلمات باقی مونده رو به تعداد 3 - 4 یا 5 عدد تغییر بدم ؟
                سلام،
                تغییراتی در تابع انجام دادم :
                کد:
                Function STR_T(STR As String, RNG_DL_WORDS As Range) As String
                Dim DSTRS
                Dim SPILITVALUES
                DSTRS = RNG_DL_WORDS.Value
                SPILITVALUES = Split(STR, Chr(32))
                For Each SITM In SPILITVALUES
                    B = True
                    For Each DITM In DSTRS
                        If SITM = DITM Or IsNumeric(SITM) Or InStr(1, SITM, ")", vbTextCompare) Or InStr(1, SITM, "(", vbTextCompare) Then
                        B = False
                        Exit For
                        End If
                    Next
                    If B = True And ASTR = Empty Then
                    ASTR = SITM
                    ElseIf B = True Then
                    ASTR = ASTR + Chr(32) + SITM
                    End If
                Next
                STR_T = ASTR
                End Function
                تابع دیگری هم اضافه کردم :
                کد:
                Function STR_K(STR As String, T As Byte) As String
                Dim SPILITVALUES
                SPILITVALUES = Split(STR, Chr(32))
                If UBound(SPILITVALUES) + 1 <= T Then
                    R = STR
                Else
                    S = 0
                    Do While S <> T
                        TT = TT + Chr(32) + SPILITVALUES(S)
                        S = S + 1
                    Loop
                    R = TT + Chr(32) + SPILITVALUES(UBound(SPILITVALUES))
                End If
                STR_K = R
                End Function
                توضیح تابع STR_K :
                آرگومان اول سلول حاوی متن می باشد که نتیجه آن با تابع STR_T حاصل شده است.
                آرگومان دوم جهت محدود سازی تعداد کلمات می باشد

                تعداد کلمات حذفی را مانند فایل پیوست می تونید زیاد کنید
                ابتدا از از تابع STR_T استفاده کنید سپس نتیجه را با تابع STR_K انجام بدید
                فایل های پیوست شده
                [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
                [/CENTER]

                کامنت

                • aloyoun

                  • 2020/08/22
                  • 6

                  #9
                  سلام مجدد
                  خیلی لطف کردید کامل موردی شد که نیاز داشتم و کامل نیاز برطرف شد .
                  فقط یه مشکل جدید پیش اومد .
                  از اونجای که این اطلاعات رو از طریق پلاگین میخوام داخل سایت ایمپورت کنم ...
                  اون پلاگین این توابع رو تشخیص نمیده و کلا هنگ میکنه زمان خوندن فایل .
                  چیزی که توی ذهن من هست ...
                  اینه که داخل سیستم دوتا فایل داشته باشیم .
                  فایل اول ، همین فایلی که توابع داخلش هست .
                  و فایل دوم ، متن ها از فایل اول کپی بشه و فریز بشه طوری که وابسته به فایل اول نباشه ....
                  این امکان پذیره داخل اکسل ؟
                  بازهم تشکر از کمکتون .

                  کامنت

                  • aloyoun

                    • 2020/08/22
                    • 6

                    #10
                    مرسی مشکلم حل شد
                    با روش
                    Alt + کلیک ارست موس + جا به جا کردن سلول ها ... و انتخاب گزینه valuse only تمام سلول ها کپی شدند بدون فرمول
                    در نتیجه ستون های که فرمول داشتند رو دلیت کردم و سایت فایل اکسل رو قبول کرد .
                    با تشکر از راهنمایی و فروم عالیتون .

                    کامنت

                    • M_ExceL

                      • 2018/04/23
                      • 677

                      #11
                      نوشته اصلی توسط aloyoun
                      مرسی مشکلم حل شد
                      با روش
                      Alt + کلیک ارست موس + جا به جا کردن سلول ها ... و انتخاب گزینه valuse only تمام سلول ها کپی شدند بدون فرمول
                      در نتیجه ستون های که فرمول داشتند رو دلیت کردم و سایت فایل اکسل رو قبول کرد .
                      با تشکر از راهنمایی و فروم عالیتون .
                      با سلام،
                      خواهش میکنم
                      خوشحالم که توانستیم مشکل شما را حل کنیم
                      لطفا اگر موضوع حل شده و سوالی هم نیست تاپیک را حل شده کنید
                      [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
                      [/CENTER]

                      کامنت

                      چند لحظه..