دستوری برای شمردن عدد از 0 تا عددی متغیر

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

    • 2013/04/05
    • 5

    دستوری برای شمردن عدد از 0 تا عددی متغیر

    سلام

    می خواهم برنامه ای را در اکسل انجام دهم ولی به مشکل برخورد کردم

    در سلول ها به طور نمونه به صورت زیر اعداد داریم:
    G6=0.001 گام افزایش
    H6=0.15 عدد مقصد
    I6=0 عدد مبدا
    J6=0.008 عددی که باید کاسته شود

    می خواهم سلول های ستون A از عدد مبدا (0) شروع به شمارش کند و تا 0.15 برسد.
    اگر عدد 0.15 متغیر باشد، مثلاً 2 خود به خود تا 2 شمارش کند ، با همان گام 0.001.


    فایل نمونه را در لینک زیر آپلود کردم

    http://www.uplooder.net/cgi-bin/dl.cgi?key=e3383616c0c8beb62a589063f33f67cb
    با تشکر


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

    • 2013/01/17
    • 1198
    • 84.00

    #2
    RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

    با درود
    یه فایل براتون گذاشتم. قبل از اجرا کلید داخل فایل یه راهنما کوچیک توش نوشتم بخون. امیدوارم در مورد شمارش منظورتونو درست فهمیده با شم. در مورد قسمت قرمز رنگ هم که باید منفی بشه چون فرمول شما این جواب رو داره . تو این قسمت من منظورتونو نفهمیدم
    اگرم میخواین که عدد مبدا رو بدین و مقدار اظافه شدن رو هم بدین و مقصد رو هم معلوم کنین و اعداد خودکار وارد بشن اون هم میشه. ولی حالا این رو برسی کن ببین اصلا من درست متوجه شدم یا نه


    http://www.uplooder.net/cgi-bin/dl.cgi?key=dda85cbb0fad117a21d626bb0368ba36
    در پناه خداوندگار ایران زمین باشید و پیروز

    کامنت

    • houman22

      • 2013/04/05
      • 5

      #3
      RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

      سلام
      ممنونم از پاسخ شما

      منظور بنده از شمردن اعداد این است که اگر عدد مبدا یعنی صفر را وارد کنیم، با وارد کردن گام افزایشی مثلاً 0.001 ، و وارد کردن عدد مقصد مثلاً 0.01 به ترتیب زیر شود :
      0
      0+0.001=0.001
      سلول بالایی+0.001=0.002
      سلول بالایی+0.001=0.003
      سلول بالایی+0.001=0.004
      سلول بالایی+0.001=0.005
      .
      .
      .
      .
      سلول بالایی+0.001=0.01
      می خواهم این جمع کردن اعداد در سلولی نشان داده شود.
      در مورد منفی شدن هم باید عرض کنم که جواب منفی می شود، ولی چون برای محاسبه عددی خاص آن را نیاز ندارم و فقط اعداد مثبت را نیاز دارم می خواهم زمانی که اعداد منفی شد به جای منفی عدد 0 را نشان دهد.

      با تشکر
      [hr]
      شاید اصطلاح شمردن برای این کار مناسب نباشد، ولی هدف بنده این است که با وارد کردن گام افزایش و عدد مقطع، خود به خود از عدد 0 شروع کرده و سلول 0 (A1 مثلاً)+گام افزایش.
      این عمل تکرار شود تا به عدد مقصد برسد.

      کامنت

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

        • 2013/01/17
        • 1198
        • 84.00

        #4
        RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

        اینم شبیه حرف اخرمه اتفاقا دیشب روش کار کردم. این مورد اخری هم منفی ها رو هم با یه if حله. یه فرصت بدین امروز تعطیلیه حلش میکنم.البته سعی میکنم
        در پناه خداوندگار ایران زمین باشید و پیروز

        کامنت

        • houman22

          • 2013/04/05
          • 5

          #5
          RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

          ممنونم از محبت شما

          با احترام

          کامنت

          • anahita

            • 2013/02/10
            • 38

            #6
            RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

            سلام اقای اسماعیلی میشه در مورد کد توضیح بدید:
            کد PHP:
            Private Sub CommandButton1_Click()
            Dim LastRow As Long
                With Sheet1
                    LastRow 
            = .Cells(.Rows.Count"D").End(xlUp).Row
                End With

            With Sheet1
            .Range("D6:D" LastRow' you can change this to any range
                thingToLookFor = InputBox("Please Enter starting point")
                
                Set FoundIt = .Find(thingToLookFor, LookIn:=xlValues, LookAt:=xlWhole)
                  
                If Not FoundIt Is Nothing Then FirstAddress = FoundIt.Row
                
               thingToLookFor2 = InputBox("Please Enter distination point")
                Set FoundIt2 = .Find(thingToLookFor2, LookIn:=xlValues, LookAt:=xlWhole)
                  If Not FoundIt2 Is Nothing Then FirstAddress2 = FoundIt2.Row
                        
                      Sheet1.Range("i10").Value = thingToLookFor
                      Sheet1.Range("h10").Value = thingToLookFor2
                     Sheet1.Range("J10").Value = FirstAddress2 - FirstAddress + 1
                
            End With


            End Sub 

            کامنت

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

              • 2013/01/17
              • 1198
              • 84.00

              #7
              RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

              با درود
              این از قولی که دادم. البته بابت تاخیر شرمنده. یه ایرادی داشتم که استاد شمس برام برطرف کردن و کمک بزرگی کردن. نقطه شروع و گام و نقطه پایان هرچی خواستی و دلت خواست وارد کن. و بعدش همون کارو برات انجام میده و همچنین اونمورد قرمز رو هم که گفتین که منفی بود رو هم درست کردم که صفر بشه
              بازم از استاد خوبم استاد شمس بابت کمکشون ممنون . و بابت تاخیر معذرت میخوام.




              http://www.uplooder.net/cgi-bin/dl.cgi?key=3ca896e9531303c36e31461f1eac0d37
              در پناه خداوندگار ایران زمین باشید و پیروز

              کامنت

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

                • 2013/01/17
                • 1198
                • 84.00

                #8
                توضیح کد

                با درود

                توضیح : خوب سر کار خانم بعضی وقت ها میبینیم تو کد ها دوستان مثلا نمیدونن که اخرین سل توی یه ستون خاص مثل D تو اینجا چی و وقتی میخوان یه کاری بکنن میگن ثلا D1:D10000 و چون نمیدونن بیشترین احتمالاتو در نظر میگیرن که این کار سرعت عملکرد رو پایین میاره .
                خوب از مسئله دور نشیم از with sheet1 تا end with من اومدم گفتم که یه متغیر به نام lastrow رو توستون d تعریف کردم . حالا اگه شما هر ستون دیگه ای خواستین یا هر چند تا ستون دیکه میتونین بین این دو خط with و end with اظافه کنین. البته یادتون نره اسم دومی با اولی فرق بکنه ها. اسمش هر چی باشه مهم نیست dim اولشم یادتون نره واسه هر چند تا last که تعریف کردین
                این قسمت اول
                در مورد بعدش اول باید بفهمیم که اصلا من میخواستم چیکار ککنم هر چند منطور دوستمونو نفهمیده بودم. من فکر می کردم میخواد تعداد اعداد بین 2 عدد در رنج رو همراه با همون دو عدد بدونن. خوب من گفتم نیاز به 2 تا inputbox دارم که نامشم میتونه هر چی باشه. که تو کد ها میبینین و تابع find در ویژوال که هر کدومش دقیقا بعد از input میاد و بعد گفتم اگه پیداش کردی firstaddress , برابر اون نام inputbox ردیفش(row ) قرار بده . در اخرم گفتم هر چی رو که وارد کردیم ( اعداد و تفاوت row ها +1 (که خود اعداد هم شاملش بشه) رو برای اینکه کاربر بفهمه توی یه رنج خاص ثبت کنه
                اگر توضیحاتم کامل نبود میبخشید
                سوال بود در خدمتم
                در پناه خداوندگار ایران زمین باشید و پیروز

                کامنت

                • anahita

                  • 2013/02/10
                  • 38

                  #9
                  RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

                  سلام من با with و end with و inputbox مشکل ندارم فقط تابع find را کامل توضیح بدید اگه زحمت نیست ارگومان هاشو و nothing را ممنون

                  کامنت

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

                    • 2013/01/17
                    • 1198
                    • 84.00

                    #10
                    RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

                    Set FoundIt = .Find(thingToLookFor, LookIn:=xlValues, LookAt:=xlWhole)
                    thingtolookfor که همون مقدار input ماست که میخواد بگرده پیداش کنه
                    lookin یعنی که تو ارزش ( مقدار) رنج ما بگرده و نگاه کنه
                    lookat قسمتی که مامیگیم کل مورد رو شامل بشه ی یا یه قسمتی xlpart نگاه میکنه اگه یه قسمتش باشه پیدا میکنه که قبلا تو تالارم نمونشو گذاشتم و استاد شمس هم تو تالار هم نمونه های فراوانی رو گداشتن.
                    ولی چشم چون این مورد مهمه یه فایل خوب با مثال و توضیحاماده میکنم.
                    If Not FoundIt2 Is Nothing Then
                    اینم در واقع یعنی اگه پیدا کردی برو این کارو بکنه خودمونه
                    در پناه خداوندگار ایران زمین باشید و پیروز

                    کامنت

                    • houman22

                      • 2013/04/05
                      • 5

                      #11
                      RE: دستوری برای شمردن عدد از 0 تا عددی متغیر

                      سلام

                      خیلی خیلی ممنونم از پاسخ شما و راهنمایی های بسیار خوبی که کرده اید. این بخشی از کاری بود که بنده می خواستم انجام دهم. روند آن ساده است ولی برای بنده که به اکسل کاملاً مسلط نیستم پیچیده است..
                      تلاش کردم که خودم ادامه آن را انجام دهم ولی نشد.


                      کامنت

                      چند لحظه..