محاسبه مجموع تعداد کارت در تاریخ های تکراری

Collapse
X
 
  • زمان
  • نمایش
Clear All
new posts
  • امیر رضا

    • 2014/02/14
    • 38

    محاسبه مجموع تعداد کارت در تاریخ های تکراری

    سلام
    میخوام در vba بیام ستون تاریخ رو بررسی کنم ضمن اینکه تعداد تراکنش هر تاریخ رو در جای دیگه ثبت کنم یکار دیگه هم انجام بدم ومشکل اصلی هم اینه(اگر یک تاریخ تکرار داشت مجموع تعداد تراکنش اون تاریخ رو بدست بیارم و ثبت کنم) در اینجا اینکه کدام تاریخ تکرار داره معلوم نیست

    این کدم

    کد:
    Private Sub CommandButton1_Click()
    Dim c As Range
    For Each c In Sheet1.Range("b7:b31")
    If c.Value <> "" Then
    c.Offset(0, 3).Value = c.Value
    '''
    'ÏÑÌ ãÌãæÚ ÊÚÏÇÏ ÊÑǘäÔ ÊÇÑíÎ åÇí ʘÑÇÑí
    
    
    ''''
    End If
    Next
    
    
    
    
    End Sub
    اینم فایل ضمیمه

    dehghan.xlsm
    دوستان لطف میکنن اگه زود تر جواب بدن
  • Alireza
    مدير تالار تنظيمات اكسل

    • 2011/03/01
    • 648

    #2
    سلام
    دوست من ببنید این کار رو با تابع sum if میشه انجام داد لازم به vb نیست
    تعتداد تکرار خود تاریخ رو هم میشه با countif انجام داد
    ضمناً اگر تعدادشرطها بیشتر از یکی بود میشه از تابع sumifs و countifs استفاده کرد
    تنها راهي که به شکست مي انجامد، تلاش نکردن است

    کامنت

    • alieddy0

      • 2011/07/21
      • 141

      #3
      با سلام
      در تاييد فرمايش دوست عزيزم عليرضا بايد بگم كه تنها مرحله اي كه بيان نشد تهيه ليست Unique (بدون تكرار ) ميباشد كه هم با VBA ميشود هم با استفاده تركيبي از فرمولهايي كه دوستمون ذكر كردن كه فراخور تصميم شما بفرماييد تا بشه كمكتون كرد

      کامنت

      • امیر رضا

        • 2014/02/14
        • 38

        #4
        نوشته اصلی توسط Alireza
        سلام
        دوست من ببنید این کار رو با تابع sum if میشه انجام داد لازم به vb نیست
        تعتداد تکرار خود تاریخ رو هم میشه با countif انجام داد
        ضمناً اگر تعدادشرطها بیشتر از یکی بود میشه از تابع sumifs و countifs استفاده کرد

        ممنون از اساتید و دوستان خوبم ولی گفتم که مشکل من کدیه که بای در vba بزنم هست و اینکه تاریخ هایی که دارای تکرار هستند مشخص نیست لطفا با vba جواب بدید من هنوز مشکلم حل نشده توابعی هم که فرمودید رو میدونم ولی با vba چطور ؟ نمیخوام بیام از select case استفاده کنک دونه دونه بگم اگر تاریخ 01/11/92 بود اینکاررو بکن اگر 02/11/92 بود اینکارو بکن این در صورتی معقول خواهد بود که تعداد کیس ها نهایتا 20 یا 30 تا باشه نه اینکه کل تاریخ تقویم رو بخوردش بدم که بر اساس اون بیاد تصمیم بگیره بازم میگم معلوم نیست تاریخ برج 11 92 باشه یا برج 12 93 پس لطفا اساتید فنی تر صحبت کنند و راهنمایی بدن باید چکار کنیم
        Last edited by امیر رضا; 2014/03/09, 17:47.

        کامنت

        • امیر رضا

          • 2014/02/14
          • 38

          #5
          واقعا وقتی جایی گیر میکنی دلتو خوش میکنی به این انجمن بعدش متوجه میشی بعد 48 ساعت هنوز فقط کامنت میزارن چقد قدر استاد شمس العلما رو آدم بیشتر درک میکنه - اساتید کجایید ؟

          کامنت

          • ~M*E*H*D*I~

            • 2011/10/19
            • 4374

            #6
            کد زیر رو تست کنید امیدوارم مشکل حل بشه
            کد HTML:
            Private Sub CommandButton1_Click()
            Dim rng1 As Range
            Dim rng2 As Range
            Dim rng3 As Range
            Dim c As Range
            Set rng = Sheet1.Range("b6:b15")
            Set rng2 = Sheet1.Range("e7:e13")
            Set rng3 = Sheet1.Range("c6:c15")
            For Each c In rng2
            c.Offset(0, 1) = Application.WorksheetFunction.SumIf(rng, c.Value, rng3)
            Next c
            
            
            End Sub

            sigpic

            کامنت

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

              • 2013/01/17
              • 1198

              #7
              با درود
              جناب امیر رضا خان . اینکه استاد شمس کارشون درسته که هیچ حرفی نه توش بوده و نه هست . مشکل شما رو هم در بالا قبل از آقا مهدی با sumif دوستمون توضیح دادن. اگر همون تابع رو تو vba دنبالش رو میگرفتی به نتیجه میرسیدی. اینکه هر وقت ما یه مشکلی داشته باشیم یاد سایت بیفتیمو مشکلمون که حل شد ............... بعد باز دوباره مشکل که نشد دوست من. یه سری چیز ها رو آدم باید پایه ای یاد بگیره و بره جلو. ایا ما هم همیشه تا کار مون گیره باید سراغ خانواده و دوستامون بریم و بعدش دیگه هیچی . ایا همیشه بهمون یاد دادن به جای یادگیری لقمه بدن بهمون ......
              در پناه خداوندگار ایران زمین باشید و پیروز

              کامنت

              • alieddy0

                • 2011/07/21
                • 141

                #8
                با سلام
                بنده تا جايي كه فهميدم مشكلتون رو بدون vba حل كردم.ميمونه قسمت گزارش گيري در vba كه اگه تاكيد داريد در محيط vba انجام بشه توضيح بدين تا بنده و دوستان تا جاي ممكن راهنماييتون كنيم
                فایل های پیوست شده

                کامنت

                • امیر رضا

                  • 2014/02/14
                  • 38

                  #9
                  نوشته اصلی توسط alieddy0
                  با سلام
                  بنده تا جايي كه فهميدم مشكلتون رو بدون vba حل كردم.ميمونه قسمت گزارش گيري در vba كه اگه تاكيد داريد در محيط vba انجام بشه توضيح بدين تا بنده و دوستان تا جاي ممكن راهنماييتون كنيم
                  بله دوست عزیز واقعا همونیه که میخواستم ولی میترسم یروزی اینجا یکی مبتدی بیاد بگه آقا یه مسیج باکس میخوام نمایش بدم در جوابش بگن لقمه آماده - منباب اطلاع و فرهنگ سازی (هر چند که از ما ایرانیا به استثنای بعضی از اساتید این فرهنگ سازی صورت نگرفته یا خیلی ضعیف بوده) برید یه سری به کد پروجکت یا Stack Overflow یا ... بزنید بعد خجالت میکشیم بگیم ما ایرانی هستیم بندگان خدا حق دارن از ما اون ذهنیتی که الان دارند رو داشته باشن - در هر حال ببخشید که لحنم تند بود - دوست عزیز ممنون

                  کامنت

                  • امیر رضا

                    • 2014/02/14
                    • 38

                    #10
                    نوشته اصلی توسط alieddy0
                    با سلام
                    بنده تا جايي كه فهميدم مشكلتون رو بدون vba حل كردم.ميمونه قسمت گزارش گيري در vba كه اگه تاكيد داريد در محيط vba انجام بشه توضيح بدين تا بنده و دوستان تا جاي ممكن راهنماييتون كنيم
                    اگر میشه vba من فقط میخوام یک بار این موضوع رو تجربه کنم

                    کامنت

                    • امیر رضا

                      • 2014/02/14
                      • 38

                      #11
                      نوشته اصلی توسط ~M*E*H*D*I~
                      کد زیر رو تست کنید امیدوارم مشکل حل بشه
                      کد HTML:
                      Private Sub CommandButton1_Click()
                      Dim rng1 As Range
                      Dim rng2 As Range
                      Dim rng3 As Range
                      Dim c As Range
                      Set rng = Sheet1.Range("b6:b15")
                      Set rng2 = Sheet1.Range("e7:e13")
                      Set rng3 = Sheet1.Range("c6:c15")
                      For Each c In rng2
                      c.Offset(0, 1) = Application.WorksheetFunction.SumIf(rng, c.Value, rng3)
                      Next c
                      
                      
                      End Sub

                      آقا مهدی خیلی ممنون متشکرم

                      کامنت

                      • امیر رضا

                        • 2014/02/14
                        • 38

                        #12
                        از استاد شمس العلما تشکر ویژه دارم بازم برای n مین بار ما رو شرمنده خودشون کردند از تمامی اساتید و اعضای دیگه که در این تایپیک همکاری و اظهار نظری داشتند ضمن عذر خواهی تشکر و قدر دانی میکنم پیشاپیش سالی پر از برکت و سلامتی برای خودتون و تک تک اعضای خانواده همتون آرزو میکنم

                        موفق باشید شبتون شیک

                        کامنت

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

                          • 2013/01/17
                          • 1198

                          #13
                          نوشته اصلی توسط امیر رضا
                          بله دوست عزیز واقعا همونیه که میخواستم ولی میترسم یروزی اینجا یکی مبتدی بیاد بگه آقا یه مسیج باکس میخوام نمایش بدم در جوابش بگن لقمه آماده - منباب اطلاع و فرهنگ سازی (هر چند که از ما ایرانیا به استثنای بعضی از اساتید این فرهنگ سازی صورت نگرفته یا خیلی ضعیف بوده) برید یه سری به کد پروجکت یا Stack Overflow یا ... بزنید بعد خجالت میکشیم بگیم ما ایرانی هستیم بندگان خدا حق دارن از ما اون ذهنیتی که الان دارند رو داشته باشن - در هر حال ببخشید که لحنم تند بود - دوست عزیز ممنون
                          با درود
                          در ابتدای بزار یه چیزی رو بگم اینکه هیچ وقت همه رو با یه چوب نرونین اشتباه از من بوده . اگر بحث سایت های خارجی و جواب دادنشون مد نظر و فرهنگ سازی اونها بزار یه توضیحاتی هم اول به خودم و هم به شما دوست عزیز بدم . تو خیلی از سایت های معتبر قوانین خیلی سخت تر از اینی که این جا اجرا میشه ، اجرا میشه. اگر رو پست کسی پست اشتباه بزاری . اگر جواب کسی رو بزاری. ذکر مطلبی بدون منبع بهت اخطار میدن . یسری سوالات رو اصلا جواب نمیدن چون بحث مالی و پروژه است. مطالب بحث شده رو لینک میدن. نه اینکه مدام کرارش کنن. منم به عنوان شاگرد استاد شمس بهتر از هر کس دیگه ای میدونم از این خصلت ها هیچ وقت نداشتن که بدون تلاش خود شاگرداش و اینکه خودشون تا یه جای کارو پیش نبرن مرتب جواب بدن. در مورد ذهنیت هم خارجی ها نسبت به مردم ایران هیچ وقت به طور کلی ذهنیت بدی نداشتن و به استعداد ها و فرهنگ این کشور اعتقاد داشتن و دارن. این ذهنیت ها هم به مسائل دیگه ای بر میگرده که نه جاش اینجاست و نه نیاز به بحث .
                          در پناه خداوندگار ایران زمین باشید و پیروز

                          کامنت

                          Working...