گزارش گیری بر اساس یک سلول

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

    گزارش گیری بر اساس یک سلول

    با سلام
    من ی لیستی دارم که در یکی از سلول های اون ردیف نوشته "نشد"
    چه کدی تعریف کنم که تمام اون ردیفی که اون سلول مورد نظر توش نوشته نشد رو تو ی شیت دیگه کپی کنه؟
    IRAN.xlsx
    [CENTER]
    [/CENTER]
  • misammisam
    مدير تالار حسابداری و اکسل

    • 2014/04/04
    • 892
    • 64.00

    #2
    نوشته اصلی توسط absorkhi
    با سلام
    من ی لیستی دارم که در یکی از سلول های اون ردیف نوشته "نشد"
    چه کدی تعریف کنم که تمام اون ردیفی که اون سلول مورد نظر توش نوشته نشد رو تو ی شیت دیگه کپی کنه؟
    [ATTACH]3776[/ATTACH]
    سلام
    سوالتون مفهوم نيست ، اگه منظورت گزارش گيري برحسب اون ستون مجازه كه در فايلت هست ، بهتره اون 2 تا ستون رو يكي بكني ، چون يا مجاز هست يا نيست ديگه ، بعد با Pivot Table ميتوني ازش گزارش گيري بكني .
    اگرم ميخواي ببري در يك شيت خاص با چند تا vlookup ميتوني همه سطرو انتقال بدي .
    در مورد همه اين مواردم در سايت كاملا توضيح داده شده و مثالهاي كاملي وجود داره .
    موفق باشي
    [CENTER][SIGPIC][/SIGPIC]
    [/CENTER]
    [CENTER][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][INDENT]
    [CENTER][SIZE=3][URL="https://affstat.adro.co/click/adf04053-f8a6-439a-9ac4-e6a7e6f4b455"][B]اينجا كليك نكنيا ![/B][/URL][/SIZE]
    [/CENTER]
    [/INDENT]

    [/FONT][/FONT][/FONT][/FONT][/FONT]
    [/CENTER]

    کامنت

    • ali.b

      • 2014/01/12
      • 798

      #3
      بیشتر توضیح بدین ممنون میشم
      [CENTER]
      [/CENTER]

      کامنت

      • امين اسماعيلي
        مدير تالار ويژوال بيسيك

        • 2013/01/17
        • 1198
        • 84.00

        #4
        با درود
        کد زیر رو برای یه باتن تو شیت 1 بنویس فکر کنم حل میشه
        کد:
        Private Sub CommandButton1_Click()
        Dim LastRow1 As Long
        With Sheet1
        LastRow1 = .Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
        End With
        For Each c In Sheet1.Range("D3:D" & LastRow1)
        Dim LastRow As Long
        With Sheet2
            If .Range("A1").Value <> "" Then
                'Search for any entry, by searching backwards by Rows.
        
                LastRow = .Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
                Else
                LastRow = 0
        End If
        End With
        If c.Value = Sheet1.Range("D2").Value Then
        Rows(c.Row).Select
        Selection.Copy Destination:=Sheet2.Range("A" & LastRow + 1)
        End If
        Next c
        
        End Sub
        در پناه خداوندگار ایران زمین باشید و پیروز

        کامنت

        • misammisam
          مدير تالار حسابداری و اکسل

          • 2014/04/04
          • 892
          • 64.00

          #5
          نوشته اصلی توسط امين اسماعيلي
          با درود
          کد زیر رو برای یه باتن تو شیت 1 بنویس فکر کنم حل میشه
          کد:
          Private Sub CommandButton1_Click()
          Dim LastRow1 As Long
          With Sheet1
          LastRow1 = .Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
          End With
          For Each c In Sheet1.Range("D3:D" & LastRow1)
          Dim LastRow As Long
          With Sheet2
              If .Range("A1").Value <> "" Then
                  'Search for any entry, by searching backwards by Rows.
          
                  LastRow = .Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
                  Else
                  LastRow = 0
          End If
          End With
          If c.Value = Sheet1.Range("D2").Value Then
          Rows(c.Row).Select
          Selection.Copy Destination:=Sheet2.Range("A" & LastRow + 1)
          End If
          Next c
          
          End Sub
          امين يه توضيح براي اين كده مينويسي ، بعضي جاهاشو اصلا نميفهمم چيه .
          [CENTER][SIGPIC][/SIGPIC]
          [/CENTER]
          [CENTER][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][INDENT]
          [CENTER][SIZE=3][URL="https://affstat.adro.co/click/adf04053-f8a6-439a-9ac4-e6a7e6f4b455"][B]اينجا كليك نكنيا ![/B][/URL][/SIZE]
          [/CENTER]
          [/INDENT]

          [/FONT][/FONT][/FONT][/FONT][/FONT]
          [/CENTER]

          کامنت

          • ali.b

            • 2014/01/12
            • 798

            #6
            کار میکنه ممنونم
            [CENTER]
            [/CENTER]

            کامنت

            • امين اسماعيلي
              مدير تالار ويژوال بيسيك

              • 2013/01/17
              • 1198
              • 84.00

              #7
              کجاشو توضیح بدم میثم خان بگو در خدمتم
              در پناه خداوندگار ایران زمین باشید و پیروز

              کامنت

              • misammisam
                مدير تالار حسابداری و اکسل

                • 2014/04/04
                • 892
                • 64.00

                #8
                نوشته اصلی توسط امين اسماعيلي
                کجاشو توضیح بدم میثم خان بگو در خدمتم
                کد PHP:
                For Each c In Sheet1.Range("D3:D" LastRow1
                کد PHP:
                If c.Value Sheet1.Range("D2").Value Then
                Rows
                (c.Row).Select 
                اين 2 تا رو معنيشونو درست نميفهمم ، مخصوصا اين قست ("D3 : D" & LastRow1) كه براي for نوشتي
                [CENTER][SIGPIC][/SIGPIC]
                [/CENTER]
                [CENTER][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][INDENT]
                [CENTER][SIZE=3][URL="https://affstat.adro.co/click/adf04053-f8a6-439a-9ac4-e6a7e6f4b455"][B]اينجا كليك نكنيا ![/B][/URL][/SIZE]
                [/CENTER]
                [/INDENT]

                [/FONT][/FONT][/FONT][/FONT][/FONT]
                [/CENTER]

                کامنت

                • امين اسماعيلي
                  مدير تالار ويژوال بيسيك

                  • 2013/01/17
                  • 1198
                  • 84.00

                  #9
                  با درود
                  خط اول من یه متغییر lastrow1 معرفی کردم که کارش پیدا کردن اخرین ردیف پرشده در شیت 1 بود - چرا ؟ چون سرعت کار بالا بیاد - این متغییر هم یک عدد رو برامون بر میگردونه حالا مثلا
                  کد:
                  [FONT=Tahoma][FONT=Tahoma][FONT=Tahoma][COLOR=#000000][COLOR=#007700]For [/COLOR][COLOR=#0000BB]Each c In Sheet1[/COLOR][COLOR=#007700].[/COLOR][COLOR=#0000BB]Range[/COLOR][COLOR=#007700]([/COLOR][COLOR=#DD0000]"D3:D" [/COLOR][COLOR=#007700]& [/COLOR][COLOR=#0000BB]LastRow1[/COLOR][COLOR=#007700])  [/COLOR][/COLOR][/FONT][/FONT][/FONT]
                  میدونیم که رنج رو تو دو تا " " میزاریم - اما اگر بخوایم بگیم که از
                  کد:
                  "D3:D"
                  اون عدد lastrow1 باید با یه & به رنجمون اظافه بشه تا مثلا
                  کد:
                  D3:D10
                  بوجود بیاد -
                  کد بعدی هم گفتیم که اگر C هایی که تو این رنج هستند با چیزی که تو D2 نوشته میشه برابر بو then بعدش ردیف اون C انتخاب بشه یعنی Select بشه و بعدش تو شیت 2 که Destination هستش کپی بشه - اگر بازم جایی سواله بگو
                  در پناه خداوندگار ایران زمین باشید و پیروز

                  کامنت

                  چند لحظه..