مقایسه تاریخ و انتقال اعداد

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

    • 2014/02/28
    • 88

    [حل شده] مقایسه تاریخ و انتقال اعداد

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

    من ستون های A و B را دارم و باید ستونهای G و H انتقال پیدا کنند به ستونهای C و D بطوریکه باید هر سلول G که تاریخ ان با ستونA برابر است در مقابل ان با عدد مربوط در ستون H در ستونهای C و D قرار گیرد و خانه های که در مقابل ان تاریخی وجود ندارند با رنگ ابی پر شوند (مانند شکل 1 که من بصورت دستی سلولها را پر کرده ام )


    دست اخر هم در کاربرگ دیگر ( sheet2 ) باید خانه هایی که به رنگ ابی پر شده اند و تاریخی برای انها و جود ندارد را کلا حذف کند (یعنی در واقع سلولهای ستون A,B,C,D)
    که با این کار ما فقط سلولهایی داشته باشیم که دارای اعداد و تاریخ مشابه باشند


    ممنون از دوستان
    فایل های پیوست شده
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام

    با استفاده از فرمولهای آرایه ای فایل پیوست انجام شد
    فایل های پیوست شده

    کامنت

    • amir_ts

      • 2015/03/17
      • 1247

      #3
      با سلام
      از تابع match میتونید برای فراخوانی اطلاعات استفاده کنید.
      کد PHP:
      =IFERROR(INDEX($G$2:$G$24;MATCH(A2;$G$2:$G$24;0););""
      با این کد هم ردیف های خالی رو حذف کنید.


      کد:
      [LEFT]Sub test()
      Dim i As Integer
      For i = 25 To 2 Step -1
      If Range("c" & i).Value = "" Then
      Range("a" & i & ":d" & i).Delete Shift:=xlUp
      End If
      Next i
      End Sub
      
      
      [/LEFT]
      فایل های پیوست شده
      [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

      کامنت

      • ed2008

        • 2014/02/28
        • 88

        #4
        نوشته اصلی توسط amir_ts
        با سلام
        از تابع match میتونید برای فراخوانی اطلاعات استفاده کنید.
        کد PHP:
        =iferror(index($g$2:$g$24;match(a2;$g$2:$g$24;0););""
        با این کد هم ردیف های خالی رو حذف کنید.


        کد:
        [LEFT]sub test()
        dim i as integer
        for i = 25 to 2 step -1
        if range("c" & i).value = "" then
        range("a" & i & ":d" & i).delete shift:=xlup
        end if
        next i
        end sub
        
        
        [/LEFT]
        سلام
        ممنون از شما امیر جان
        متاسفانه قسمت کد اول را که در ستون c کپی میکنم که تاریخها را مقایسه کند با اعداد که در عکس هست مواجه میشوم همچنین کدی برای پر کردن رنگ ابی خانه های خالی من ندیدم
        فایل های پیوست شده
        Last edited by ed2008; 2016/09/24, 16:08.

        کامنت

        • ed2008

          • 2014/02/28
          • 88

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

          با استفاده از فرمولهای آرایه ای فایل پیوست انجام شد
          سلام دست شما درد نکنه
          فایل شما را که من دیدم اشکال در تاریخ ها داشت که عوض شده بودند که در عکس نشان دادم و فرمول پر کردن رنگ خانه های خالی در ان نبود همچنین من متوجه نشدم چطور از فرمول بصورت ارایه ای استفاده بشود من فرمول را در سلول C2 کپی پیست کردم و همزمان سه کلید Ctrl + Shift + Enter را همزمان فشار دادم که فرمول بصورت ارایه ای بشود اما طریقه استفاده ان را در همه سلولها که اجرا کنم را نمیدانم لطفایک توضیح کوچک میدید که چطوری فرمول را در سلولها بکار ببرم


          ممنون از شما


          فایل های پیوست شده

          کامنت

          • amir_ts

            • 2015/03/17
            • 1247

            #6
            متاسفانه قسمت کد اول را که در ستون c کپی میکنم که تاریخها را مقایسه کند با اعداد که در عکس هست مواجه میشوم همچنین کدی برای پر کردن رنگ ابی خانه های خالی من ندیدم
            چون تغییر فرمت داده اعداد نمایش داده میشه ، شما با کلیک بر روی یکی از تاریخ های ستون g که تاریخ هست و انتخاب format painter فرمت تاریخ رو در ستون فرمول کپی کنید.
            این فرمول هم برای ستون d هست که تو فایل نمونه ارسالی وجود داره.
            کد PHP:
            =IFERROR(INDEX($H$2:$H$24;MATCH(A2;$G$2:$G$24;0););""
            [SIZE=7][B][COLOR=navy][FONT=IranNastaliq]ای برادر تو همه اندیشه ای[/FONT][/COLOR][/B][/SIZE]

            کامنت

            چند لحظه..