تشخیص ناحیه پویا در حین بروزرسانی

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

    • 2014/01/23
    • 39

    تشخیص ناحیه پویا در حین بروزرسانی

    با سلام خدمت شما استاد گرامی
    در یک کارپوشه ، شیتی به نام online دارم که هر دقیقه به روز میشود و در هر بار به روز رسانی که به صورت جایگزینی اطلاعات جدید روی اطلاعات قدیم صورت می گیرد ، بدون هیچ گونه نظم و تعداد مشخصی ، محصولاتی متنوع با قیمت های مربوطه به صورت ردیفی در آن ذخیره میشود. مثلا در بروزرسانی اول ممکن است 7 ردیف اول در این شیت پر شود و در بروزرسانی بعدی 700 ردیف اول و ... در شیت دیگری در همین کارپوشه به نام bank هر دقیقه اطلاعات شیت online درون شیت bank کپی میشود. در دقیقه های بعدی ، اطلاعات شیت online در انتهای ردیف های قبلی شیت bank کپی و بر اساس نام محصول ، سورت میشود. مثلا بعد از مدتی در شیت bank ممکن است 50 ردیف پشت سرهم از محصول شلوار ، 7000 ردیف پشت سرهم از محصول شکر و ... داشته باشم. می خواهم در هر لحظه پس از به روز شدن شیت bank در جایی ، بتوانم ناحیه ایی پویا از کلیه محصولات یکسان پشت سرهم به صورت اتومات تشخیص دهم تا بتوانم مثلا ماکزیمم قیمت آن را حساب کنم. متلا در این لحظه ، برای ناحیه 700 ردیفه و 3 ستونه محصول شلوار ، بتوانم ماکزیمم قیمت را در سلولی با ذکر نام محصول داشته باشم، همین طور برای ناحیه 200 ردیفه و سه ستونه محصول شلوار و همین طور برای کل محصولات. لازم به ذکر است پس از بروز شدن در لحظه بعد ، این تعداد ردیف ها و تعدا محصولات تغییر خواهند کرد و بیشتر میشوند. ممنون از محبت تان. لینک فایل نمونه ام :
    hamid
  • hamidrezasadeghi

    • 2014/01/23
    • 39

    #2
    در ضمن ممنون میشم اگه بفرمایید با ماکرو چگونه میتوانم هر 3 دقیقه یکبار ، فایل ام را بدون آنکه از من تاییدیه ایی بخواهد ، save شود اما بسته نشود و همچنان به کارش ادامه دهد. درود بر شما

    کامنت

    • ~M*E*H*D*I~
      • 2011/10/19
      • 4377
      • 70.00

      #3
      درود

      با استفاده ازساب روتین و Event زیر می تونید از کدی استفاده کنید که بخش تغییر یافته رو با تغییر رنگ سل ، رنگ فوت یا بوردر گذاری مشخص کنید

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

      End Sub 
      [CENTER]
      [SIGPIC][/SIGPIC]
      [/CENTER]

      کامنت

      • Ali Parsaei
        مدير تالارتوابع اکسل

        • 2013/11/18
        • 1522
        • 71.67

        #4
        در مورد نواحي پويا (مقوله Dynamic Name Range) مي توانيد از مطالب فايل ضميمه شده توسط دوستمان آقا نيما در آدرس زير استفاده کنيد:
        http://forum.exceliran.com/showthread.php?t=3306
        [SIGPIC][/SIGPIC]

        کامنت

        • hamidrezasadeghi

          • 2014/01/23
          • 39

          #5
          درودی دیگر و ممنون از راهنمایی های اساتید گرامی.
          خواسته من این است که در شیت سومی ، بدون وارد کردن دستی هر ناحیه ، نواحی به نام کلیه محصولات موجود در شیت bank ، ایجاد شود تا بعدا بتوانم با نوشتن فرمول های آماری ، محاسبات لازم را روی آن نواحی انجام دهد. مثلا در هر بروز رسانی در شیت bank ، در شیت سومی اولا محدوده ها را تشخیص دهد مثلا :
          Set shalvar=range(“A1:C10”)
          Set pirahan=range(“A11:C700”)
          Set shikar=range(“A701:C800”)
          .
          .
          .
          در بروز رسانی شیت Bank در دقایق بعدی که این Range ها تغییر میکنند ، باز هم کلیه ردیف های مثلا شلوار که ذیل یکدیگر قرار میگیرند ، تحت عنوان ناحیه Shalvar به صورت خودکار تشخیص و تعریف گردد.
          ثانیا برای کلیه محصولات موجود در شیت bank این نواحی با نام همان محصول ، ایجاد شود.
          سپس در شیت سوم بتوانم ماکزیمم قیمت هر ناحیه تا آن زمان را جلوی نام آن ناحیه داشته باشم. همچنین در ستون عدی متعلق به آن ناحیه ، علاوه بر ماکزیمم ، واریانس ، میانگین و سایر محاسبات آماری را انجام دهم.
          ممنون از راهنمایی های تان

          کامنت

          • hamidrezasadeghi

            • 2014/01/23
            • 39

            #6
            درود بر اساتیدی که همچنان منتظر راهنمایی های شان هستم.

            کامنت

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

              • 2013/01/17
              • 1198
              • 84.00

              #7
              با درود
              فک نمیکنی الان یه پر.ژه تعریف شد.............
              در پناه خداوندگار ایران زمین باشید و پیروز

              کامنت

              • hamidrezasadeghi

                • 2014/01/23
                • 39

                #8
                درود بر استاد اسماعیلی
                از آنجاییکه به مشکلات می توان ساده تر نگریست لذا سوالم را ساده تر بیان میکنم. در ستون A نام محصول های مختلف و در ستون B قیمت آنها درج شده است. میخواهم در شیت جدیدی ، میانگین قیمت محصول pr001 با 3 ردیف فعلی ، pr507 با 5 ردیف فعلی ، pr285 با 2 ردیف فعلی را محاسبه نمایم با این شرایط که اولا هر دقیقه یکبار با آپدیت شدن ، به تعداد ردیف برخی از این محصولات ، اضافه میشود. (بدون قاعده خاصی ). ثانیا بر تنوع محصولات هم افزوده میشود مثلا pr159 . ثالثا در هر لحظه ، بدون هیچ گونه کلیک کردن یا وارد نمودن نام محصولی ، در شیت جدید در ستون A ، برای کلیه محصولات ، لیستی از نام هر محصول و میانگین قیمت آن تا آن لحظه در ستون مقابلش (B) ایجاد گردد. کل رکوردها تا 80000 ردیف هم میرسد که استفاده از FOR را زمانبر میکند. مهم است این محاسبات حدودا تا 1 دقیقه انجام شود.
                اگر توقعم از انجمن ، بیش از حد بوده ، عذرخواهی میکنم. تا درودی دیگر ، بدرود


                محصول قیمت
                pr001 100
                pr001 102
                pr001 107
                pr507 700
                pr507 708
                pr507 703
                pr507 709
                pr507 708
                pr285 127
                pr285 130

                کامنت

                • hamidrezasadeghi

                  • 2014/01/23
                  • 39

                  #9
                  از الطاف دوستان ممنونم

                  کامنت

                  • Ali Parsaei
                    مدير تالارتوابع اکسل

                    • 2013/11/18
                    • 1522
                    • 71.67

                    #10
                    ببخشيد چه استفاده اي از آمار نهايي بدست آمده با اين روش مي نماييد که آنقدر مهم است که هر يک دقيقه يک بار بايد به روز شود؟ يک کم غير معقول نيست؟
                    [SIGPIC][/SIGPIC]

                    کامنت

                    • hamidrezasadeghi

                      • 2014/01/23
                      • 39

                      #11
                      درود بر استاد پارسای بزرگوار
                      این اطلاعات مربوط به قیمت های فروش عمده و خرده اجناسی است که از طریق نمایندگی های شرکت در سراسر کشور فروخته میشود. جهت بالانس بازار و قدرت رقابت پذیری در بازار ، لازم است هر دقیقه ، همراه با آپدیت این اطلاعات از سراسر کشور ، بتوان آنالیز اولیه آماری روی هر محصول انجام داد. این کار را با حلقه for انجام داده ام ولی از آنجاییکه حجم دیتاها به حدود 80000 ردیف میرسد ، آنالیز را زمانبر و غیر کارامد می کند. حتما راهی وجود دارد که بتوان در مدت حدود یک دقیقه محاسبات آماری ساده میانگین ، واریانس و انحراف معیار ، محاسبه ماکزیمم و مینیمم ها را انجام داد. بعید میدانم این کار از عهده اساتید این سایت بر نیاید.
                      ممنون از نگاه دقیق تان

                      کامنت

                      • ~M*E*H*D*I~
                        • 2011/10/19
                        • 4377
                        • 70.00

                        #12
                        نوشته اصلی توسط hamidrezasadeghi
                        درود بر استاد پارسای بزرگوار
                        این اطلاعات مربوط به قیمت های فروش عمده و خرده اجناسی است که از طریق نمایندگی های شرکت در سراسر کشور فروخته میشود. جهت بالانس بازار و قدرت رقابت پذیری در بازار ، لازم است هر دقیقه ، همراه با آپدیت این اطلاعات از سراسر کشور ، بتوان آنالیز اولیه آماری روی هر محصول انجام داد. این کار را با حلقه for انجام داده ام ولی از آنجاییکه حجم دیتاها به حدود 80000 ردیف میرسد ، آنالیز را زمانبر و غیر کارامد می کند. حتما راهی وجود دارد که بتوان در مدت حدود یک دقیقه محاسبات آماری ساده میانگین ، واریانس و انحراف معیار ، محاسبه ماکزیمم و مینیمم ها را انجام داد. بعید میدانم این کار از عهده اساتید این سایت بر نیاید.
                        ممنون از نگاه دقیق تان
                        دوست عزیز برای این تحلیل ها نیاز به کدنویسی ندارید به سادگی با ابزار pivot table قادرید این تحلیل هارو انجام بدید
                        [CENTER]
                        [SIGPIC][/SIGPIC]
                        [/CENTER]

                        کامنت

                        • hamidrezasadeghi

                          • 2014/01/23
                          • 39

                          #13
                          درود بر شما استاد گرامی
                          با چه دستوری میتوان شیتی که حاوی ماکروه است را روی خودش save کرد (نه save as ) بدون آنکه از ما سوالی به منظور تایید پرسیده شود.
                          ممنون از راهنمایی تان.

                          کامنت

                          • Amir Ghasemiyan

                            • 2013/09/20
                            • 4598
                            • 100.00

                            #14
                            نوشته اصلی توسط hamidrezasadeghi
                            درود بر شما استاد گرامی
                            با چه دستوری میتوان شیتی که حاوی ماکروه است را روی خودش save کرد (نه save as ) بدون آنکه از ما سوالی به منظور تایید پرسیده شود.
                            ممنون از راهنمایی تان.

                            سلام دوست عزيز

                            از اين كد استفاده بفرماييد

                            کد:
                            ActiveWorkbook.Save

                            کامنت

                            • hamidrezasadeghi

                              • 2014/01/23
                              • 39

                              #15
                              درود بر استاد قاسمیان
                              ممنون از محبت تون. ولی این دستور در زمان اجرا برای فایلی که ماکرو دارد ، هنگام save پیغامی میدهد که باید ok راکلیک کرد تا save انجام شود. احتمالا این دستور ، option ها و اضافاتی داشته باشد که بدون نیاز به هرگونه کلیکی جهت تایید ، بتوان فایل را save کرد. این دستور مد نظرم بود.
                              متشکرم

                              کامنت

                              چند لحظه..