فیلتر کردن با چند عبارت مشترکی که در آغاز می آید مثلا در ستون a

Collapse
این تاپیک قفل است.
X
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • bnyamin

    • 2013/05/29
    • 111

    [حل شده] فیلتر کردن با چند عبارت مشترکی که در آغاز می آید مثلا در ستون a

    با سلام
    در آغاز سطرهایی در یک ستون مثلا ستون a
    عبارتهایی تکراری قرار دارد
    حال میخواهم با یک کد ماکرو و اعمال آن مثلا در ستون a
    مثلا متنهایی که در مقدمه آنها x و y , z و h
    وجود دارد را میخواهم فیلتر کنم
  • saed.rasa

    • 2014/11/02
    • 1054

    #2
    سلام

    بهتر است ی فایل اکسل نمونه کوتاه به همراه نتیجه مورد انتظار قرار دهید لطفا

    مرسی
    [FONT=arial][SIZE=3]اگر کسی به شما کمک کرد، سمت راست پایین هر موضوع تیک [COLOR=#0000cd][B]«3پاس»[/B][/COLOR] یادتان نرود لطفا
    اگر مشکل تان حل شد، حتما تیک سبز رنگ [B][COLOR=#00cc00]«حل شد»[/COLOR][/B] در پست اول را بزنید
    [/SIZE][/FONT][SIZE=3][CENTER][FONT=arial]
    [/FONT][/CENTER]
    [/SIZE][FONT=arial][SIZE=3] اگر میخواهید بهتر و دقیق تر و سریع تر به شما کمک شود، یک [COLOR=#ee82ee][B]«فایل نمونه»[/B][/COLOR] قرار دهید
    فایل نمونه: حداکثر [U][COLOR=#ff0000]50 [/COLOR][/U]کیلوبایت - کوتاه، تقریبا [U][COLOR=#ff0000]10 [/COLOR][/U]سطری - به همراه جواب یا خروجی یا نتیجه مورد انتظار[/SIZE][/FONT][CENTER][FONT=arial][COLOR=#0000ff][SIZE=3][SIZE=3][SIZE=3][SIZE=3]مسیر ارسال فایل : پایین سمت چپ - تنظیمات اضافی - فایل پیوست[/SIZE][/SIZE][/SIZE] [/SIZE][/COLOR]
    [/FONT][/CENTER]

    کامنت

    • bnyamin

      • 2013/05/29
      • 111

      #3
      با سلام
      یک فایل کتاب داریم که دارای پاورقی است .
      و شروع این پاورقیها با یک مدل مشابه هست . مثل (1) و (2) و ...
      حال میخواهیم ستون را بر اساس این سنخ شروع فیلتر کنیم

      با روش begins with میشود این کار را انجام داد (در عکس) ولی مشکل این است که : فقط دارای دو گزینه هست . یعنی اگر begins with دارای چندین گزینه بود تا حدی مشکل بنده حل بود

      البته اگر بشود این کار را در حالتی که مثلا به دلایلی مثلا ستون d نیز در حالت فیلتر قرار دارد انجام داد که خیلی عالی تر میشود . ( این موضوع در جایی مصداق دارد که مثلا ما در یک ستون اکسل مثلا a ده تا کتاب داریم و مثلا چهار تا از این کتابها را به واسطه ستون d فیلتر کرده ایم و مثلا میخواهیم این فیلتر دوم (برای پاورقیها ) فقط در شش کتاب انجام گیرد .)

      - - - Updated - - -

      نوشته اصلی توسط saed.rasa
      سلام

      بهتر است ی فایل اکسل نمونه کوتاه به همراه نتیجه مورد انتظار قرار دهید لطفا

      مرسی

      با تشکر از لطفی که میفرمایید
      فایل های پیوست شده

      کامنت

      • bnyamin

        • 2013/05/29
        • 111

        #4
        لطفا یک نفر از دوستان پاسخ دهند

        کامنت

        • M_ExceL

          • 2018/04/23
          • 677

          #5
          با سلام
          در فایل پیوست روی باتن 1 کلیک کنید و نتیجه را بررسی کنید.
          کد:
          Sub M_ExceL()
          
          Dim lstr As Long
          Dim r, i, l As Long
          Dim c As Boolean
          
          Range(Cells(2, 6), Cells(Rows.Count, 6)).ClearContents
          Range(Cells(2, 5), Cells(Rows.Count, 5)).ClearContents
          lstr = Cells(Rows.Count, 1).End(3).Row
          r = 2
          Application.ScreenUpdating = False
          For i = 2 To lstr
              l = 2
              c = False
              If Mid(Cells(i, 1), 1, 1) = "(" Then
                  Do While Mid(Cells(i, 1), l, 1) <> ")" Or l = Len(Cells(i, 1))
                      If Not IsNumeric(Mid(Cells(i, 1), l, 1)) Then
                          c = False
                          Exit Do
                      Else
                      c = True
                      End If
                      l = l + 1
                  Loop
              End If
              If c = True Then
                  Cells(r, 5) = r - 1
                  Cells(r, 6) = Cells(i, 1)
                  r = r + 1
              End If
          Next
          Application.ScreenUpdating = True
          
          End Sub
          فایل های پیوست شده
          [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
          [/CENTER]

          کامنت

          • bnyamin

            • 2013/05/29
            • 111

            #6
            نوشته اصلی توسط M_ExceL
            با سلام
            در فایل پیوست روی باتن 1 کلیک کنید و نتیجه را بررسی کنید.
            کد:
            Sub M_ExceL()
            
            Dim lstr As Long
            Dim r, i, l As Long
            Dim c As Boolean
            
            Range(Cells(2, 6), Cells(Rows.Count, 6)).ClearContents
            Range(Cells(2, 5), Cells(Rows.Count, 5)).ClearContents
            lstr = Cells(Rows.Count, 1).End(3).Row
            r = 2
            Application.ScreenUpdating = False
            For i = 2 To lstr
                l = 2
                c = False
                If Mid(Cells(i, 1), 1, 1) = "(" Then
                    Do While Mid(Cells(i, 1), l, 1) <> ")" Or l = Len(Cells(i, 1))
                        If Not IsNumeric(Mid(Cells(i, 1), l, 1)) Then
                            c = False
                            Exit Do
                        Else
                        c = True
                        End If
                        l = l + 1
                    Loop
                End If
                If c = True Then
                    Cells(r, 5) = r - 1
                    Cells(r, 6) = Cells(i, 1)
                    r = r + 1
                End If
            Next
            Application.ScreenUpdating = True
            
            End Sub


            با تشکر
            نتیجه میره در ستون f
            نتیجه باید در همون ستون a باشه بصورت فیلتر شده

            و در ضمن یک نکته مهم هم این است که شاید در برخی از کتابهای دیگر الگوی پاورقی تغیر کند مثلا فقط (x) نباشد و مثلا 1- باشد و یا به شکل دیگری در شروع و ...
            در این حالت باید چه کدی را تغییر بدهم ؟!! یک کدی را معرفی کنید که بتوانم تغییر هم بدهم
            ممنون از لطفتون
            Last edited by bnyamin; 2020/10/22, 13:56.

            کامنت

            • bnyamin

              • 2013/05/29
              • 111

              #7
              فضلا لطفا ...
              کمی عجله ای است

              کامنت

              • M_ExceL

                • 2018/04/23
                • 677

                #8
                نوشته اصلی توسط bnyamin
                با تشکر
                نتیجه میره در ستون f
                نتیجه باید در همون ستون a باشه بصورت فیلتر شده

                و در ضمن یک نکته مهم هم این است که شاید در برخی از کتابهای دیگر الگوی پاورقی تغیر کند مثلا فقط (x) نباشد و مثلا 1- باشد و یا به شکل دیگری در شروع و ...
                در این حالت باید چه کدی را تغییر بدهم ؟!! یک کدی را معرفی کنید که بتوانم تغییر هم بدهم
                ممنون از لطفتون
                سلام،
                این یکی رو تست بفرمایید :
                کد:
                Sub M_ExceL()
                
                Dim A() As String
                Dim M As Variant
                Dim r, i, lstr As Long
                
                ActiveSheet.AutoFilterMode = False
                
                lstr = Cells(Rows.Count, 1).End(3).Row
                
                M = Array("(#)", "(##)", "(###)", "#-", "#)-")
                
                r = 1
                For i = 1 To lstr
                    For Each itm In M
                        If Left(Cells(i, 1), 6) Like "*" & itm & "*" _
                        And Len(Cells(i, 1)) > 5 Then
                            ReDim Preserve A(1 To r)
                            A(r) = Cells(i, 1)
                            r = r + 1
                        End If
                    Next
                Next
                
                Range("a1:a" & lstr).AutoFilter
                Range("a1:a" & lstr).AutoFilter Field:=1, Criteria1:=A, _
                Operator:=xlFilterValues
                End Sub
                توضیح :
                الگو ها را داخل آرایه M مشخص کرده ام، می توانید مورد جدیدی هم اضافه کنید یا بنا به نیاز خودتون تغییر بدید.
                یا حق.
                فایل های پیوست شده
                [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
                [/CENTER]

                کامنت

                چند لحظه..