تابع xlookup در ماکرو

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

    • 2011/09/01
    • 10

    پرسش تابع xlookup در ماکرو

    با سلام. از تابع xlookup برای ثبت داده های تکراری استفاده میکنم .. اما با توجه به اینکه ورک‌شیت با انتهای نامشخص دارم (صورت فروش روزانه فروشگاه هست و انتها ندارد) درحال حاضر که از فانکشن استفاده کردم مجبورم دایما فرمول داخل سلول را کپی کنم به سطرهای پایینی .. برای رفع این کار بایستی از ماکرو استفاده کنم تا بصورت خودکار با ورود داده به سلول ، در شش سلول بعدی مقادیر تکراری را بارگذاری کند. فرمول فعلی مورد استفاده به شرح زیر است:

    کد:
    =XLOOKUP(D560؛Sheet3!B:B؛Sheet3!A:A)
    لطفا درصورت امکان ، راهنمایی بفرمایید چه کدی در محیط کدنویسی قرار بدم تا دیگه نیاز به کپی پیست کردن مداوم فانکشن نباشه.
    پیشایش ، سپاس
    [COLOR=#800080][B]پيش به سوي موفقيت ..[/B][/COLOR]
  • saeidaspr

    • 2011/09/01
    • 10

    #2
    سلام مجدد، این پاسخ رو زدم که یادآوری بشه به دوستان اگر زحمتی نیست یه بررسی بفرمایید برای بخشی از حسابرسیم گیر این کد هستم

    باسپاس
    [COLOR=#800080][B]پيش به سوي موفقيت ..[/B][/COLOR]

    کامنت

    • ZAMEN58

      • 2016/07/21
      • 73

      #3
      سلام دوست عزیز یک نمونه کار قرار دهید تا روی همون براتون بسازم یا بگید توی چه ستونی قراره کار کنه
      Last edited by ZAMEN58; 2023/08/18, 11:06.
      [SIZE=4][COLOR=#008000][FONT=tahoma]هر کس خود رأی شد هلاک می شود و آنکه با افراد صاحب نظر مشورت کند در عقل آنها شریک شده
      حضرت امیر علیه السلام[/FONT][/COLOR][/SIZE]

      کامنت

      • ZAMEN58

        • 2016/07/21
        • 73

        #4
        سلام من برای VLOOKUP نوشتم خودتون برای XLOOKUP بنویسید چون جدیده و افیس من نداره

        Sub InsertFormula_Click()
        LastRowFormula = Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row ' .Cells(Rows.Count, 1) عدد 1 را با شماره ستون فرمول عوض کنید و بجای Sheet1 نام صفحه را بنویسید
        LastRowSearch = Sheets("Sheet1").Cells(Rows.Count, 3).End(xlUp).Row ' .Cells(Rows.Count, 3) عدد 3 را با شماره ستون جستجو عوض کنید و بجای Sheet1 نام صفحه را بنویسید
        'LastRowFormula = Sheets("Formula").Cells(Rows.Count, 1).End(xlUp).Row ' .Cells(Rows.Count, 1) REPLACE 1 BY COLUMN NO
        'LastRowSearch = Sheets("LOOKUP").Cells(Rows.Count, 3).End(xlUp).Row ' .Cells(Rows.Count, 1) REPLACE 3 BY COLUMN NO
        Range("$B$2:$B" & LastRowFormula).ClearContents
        Range("$B$2").Formula = "=IFNA(VLOOKUP($A2,$C$2:$E" & LastRowSearch & ",3,FALSE),0)"
        Range("$B$2").AutoFill Destination:=Range("B2:B" & LastRowFormula), Type:=xlFillDefault


        End Sub
        فایل های پیوست شده
        [SIZE=4][COLOR=#008000][FONT=tahoma]هر کس خود رأی شد هلاک می شود و آنکه با افراد صاحب نظر مشورت کند در عقل آنها شریک شده
        حضرت امیر علیه السلام[/FONT][/COLOR][/SIZE]

        کامنت

        • saeidaspr

          • 2011/09/01
          • 10

          #5
          سلام.
          نمونه فایل زیر رو لطفا بررسی بفرمایید.
          شرح کد ماکرو مورد نیاز:
          ستون f بررسی شود و موارد موجود در ستون e جایگزیر سطر پایینی شود. با این شرایط بعنوان مثال در این فایل در سلول f3 اگر عبارت "پرزنتیشن محصول" وارد شود ، در سلول e3 با توجه به اینکه این متن در سلول f2 بکار رفته شده ، مقدار مشابه e2 را در سلول e3 قرار دهد.
          فایل های پیوست شده
          [COLOR=#800080][B]پيش به سوي موفقيت ..[/B][/COLOR]

          کامنت

          چند لحظه..