مشخص کردن داده تکراری در سلول دیگر با تعداد تکرار

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

    • 2013/12/11
    • 49

    [حل شده] مشخص کردن داده تکراری در سلول دیگر با تعداد تکرار

    سلام فایلی دارم که هر روز تعداد 5 الی 10 رکورد بهش اضافه میشه و ممکنه تکراری باشه که حتما هم همین طوره میخواستم در سلول دیگه هم خود نماد رو بزنه هم تعداد تکرارش رو
    فایل های پیوست شده
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام

    در فایل پیوست با استفاده از رویدادها در اکسل چنانچه تغییری در ستون A ایجاد گردد یک لیست بدون تکرار از دیتای ستون A در ستون E ایجاد گردیده و در ستون مجاور تعداد تکرار آن درج میگردد


    کد PHP:
    Sub Worksheet_Change(ByVal Target As Range)

        If 
    Not Intersect(TargetMe.Range("A:A")) Is Nothing Then
        
        On Error Resume Next
        
        Z1 
    Sheet1.Cells(Sheet1.Rows.Count"E").End(xlUp).Row
        
        Range
    ("E2:F" Z1 10) = ""
        
        
        
    Columns("A:A").AdvancedFilter Action:=xlFilterCopyCopyToRange:=Range("E2" _
            
    ), Unique:=True
            
                  
            
            
    For 2 To Z1
            
            Range
    ("F" I) = Application.CountIf(Range("A:A"), Range("E" I))
            
            
    Next
            
            End 
    If
        
    End Sub 
    فایل های پیوست شده

    کامنت

    • rezayavar

      • 2013/12/11
      • 49

      #3
      نوشته اصلی توسط iranweld
      با سلام

      در فایل پیوست با استفاده از رویدادها در اکسل چنانچه تغییری در ستون A ایجاد گردد یک لیست بدون تکرار از دیتای ستون A در ستون E ایجاد گردیده و در ستون مجاور تعداد تکرار آن درج میگردد


      کد PHP:
      Sub Worksheet_Change(ByVal Target As Range)

          If 
      Not Intersect(TargetMe.Range("A:A")) Is Nothing Then
          
          On Error Resume Next
          
          Z1 
      Sheet1.Cells(Sheet1.Rows.Count"E").End(xlUp).Row
          
          Range
      ("E2:F" Z1 10) = ""
          
          
          
      Columns("A:A").AdvancedFilter Action:=xlFilterCopyCopyToRange:=Range("E2" _
              
      ), Unique:=True
              
                    
              
              
      For 2 To Z1
              
              Range
      ("F" I) = Application.CountIf(Range("A:A"), Range("E" I))
              
              
      Next
              
              End 
      If
          
      End Sub 
      سلام ممنونم فقط اگه میشه لطف بفرمائید اونایی که یکبار تکرار شده رو نیاره و اونایی هم که تکرار شده از زیاد به کم مشخص بشه (بیشترین تکرار در راس باشه)

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        فایل پیوست را بررسی نمایید

        کد PHP:
        Sub Worksheet_Change(ByVal Target As Range)

            If 
        Not Intersect(TargetMe.Range("A:A")) Is Nothing Then
            
            On Error Resume Next
            
            
            Z2 
        Sheet1.Cells(Sheet1.Rows.Count"A").End(xlUp).Row
            
            Range
        ("E2:F" Z2) = ""
            
            
        Dim list1 As New Collection
           
             
        For 2 To Z2
                
                XX 
        Application.CountIf(Range("A:A"), Range("A" I))
                
                If 
        XX 1 Then list1.Add Range("A" I), CStr(Range("A" I))
                
                
        Next
                
                
        For 1 To list1.Count
                
                Range
        ("E" 1) = list1.Item(j)
                
                
        Next
                      
                Z1 
        Sheet1.Cells(Sheet1.Rows.Count"E").End(xlUp).Row
                
        For 2 To Z1
                
                Range
        ("F" I) = Application.CountIf(Range("A:A"), Range("E" I))
                
                
        Next
                
              End 
        If
            
        End Sub 
        فایل های پیوست شده

        کامنت

        • rezayavar

          • 2013/12/11
          • 49

          #5
          نوشته اصلی توسط iranweld
          فایل پیوست را بررسی نمایید

          کد PHP:
          Sub Worksheet_Change(ByVal Target As Range)

              If 
          Not Intersect(TargetMe.Range("A:A")) Is Nothing Then
              
              On Error Resume Next
              
              
              Z2 
          Sheet1.Cells(Sheet1.Rows.Count"A").End(xlUp).Row
              
              Range
          ("E2:F" Z2) = ""
              
              
          Dim list1 As New Collection
             
               
          For 2 To Z2
                  
                  XX 
          Application.CountIf(Range("A:A"), Range("A" I))
                  
                  If 
          XX 1 Then list1.Add Range("A" I), CStr(Range("A" I))
                  
                  
          Next
                  
                  
          For 1 To list1.Count
                  
                  Range
          ("E" 1) = list1.Item(j)
                  
                  
          Next
                        
                  Z1 
          Sheet1.Cells(Sheet1.Rows.Count"E").End(xlUp).Row
                  
          For 2 To Z1
                  
                  Range
          ("F" I) = Application.CountIf(Range("A:A"), Range("E" I))
                  
                  
          Next
                  
                End 
          If
              
          End Sub 
          سلام ببخشید نتونستم سریعتر خدمت برسم دستتون درد نکنه فقط این سورت نمیشه از زیاد به کم وقتی هم دستی سورت میکنم کلا جابجا میشه زحمت اینو رو هم میکشید ممنونم

          کامنت

          • rezayavar

            • 2013/12/11
            • 49

            #6
            نوشته اصلی توسط iranweld
            فایل پیوست را بررسی نمایید

            کد PHP:
            Sub Worksheet_Change(ByVal Target As Range)

                If 
            Not Intersect(TargetMe.Range("A:A")) Is Nothing Then
                
                On Error Resume Next
                
                
                Z2 
            Sheet1.Cells(Sheet1.Rows.Count"A").End(xlUp).Row
                
                Range
            ("E2:F" Z2) = ""
                
                
            Dim list1 As New Collection
               
                 
            For 2 To Z2
                    
                    XX 
            Application.CountIf(Range("A:A"), Range("A" I))
                    
                    If 
            XX 1 Then list1.Add Range("A" I), CStr(Range("A" I))
                    
                    
            Next
                    
                    
            For 1 To list1.Count
                    
                    Range
            ("E" 1) = list1.Item(j)
                    
                    
            Next
                          
                    Z1 
            Sheet1.Cells(Sheet1.Rows.Count"E").End(xlUp).Row
                    
            For 2 To Z1
                    
                    Range
            ("F" I) = Application.CountIf(Range("A:A"), Range("E" I))
                    
                    
            Next
                    
                  End 
            If
                
            End Sub 
            سلام بازم ممنونم خیلی عالی فقط سوالی داشتم میشه وارد کردن اطلاعات از بالا اضافه بشه(ردیف a2)
            Last edited by rezayavar; 2016/10/26, 15:21.

            کامنت

            • rezayavar

              • 2013/12/11
              • 49

              #7
              سلام از اساتید و عزیزان بسیار تشکر میکنم برنامه به اون چیزی که میخواستم به کمک شما عزیزان رسید .
              متشکرم
              اکبریه

              کامنت

              چند لحظه..