کمک درنوشتن دستور

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

    • 2012/06/12
    • 111

    [حل شده] کمک درنوشتن دستور

    سلام به دوستان گرامی
    در فایل پیوست
    مقدار a1 ثابت است مثلا عدد 10
    مقدار a2 می تواند عدد مثبت و یا منفی باشد
    و a3 حاصل جمع a1+a2 می باشد .

    باید به سلول a2 یکی یکی اضافه یا کم نمود به نحوی که وقتی a3 صفر شد ماکرو متوقف شود .

    من تا کنون از دستور loop استفاده نکرده ام لطفا راهنمائی نمائید
    حتما باید به سلول a2 یکی یکی اضافه یا کم نمود
    فایل های پیوست شده
  • majid_mx4

    • 2012/06/25
    • 699

    #2
    با سلام

    متیوانید از کد زیر استفاده کنید .
    کد:
    Sub mir()
    If rannge("a2") > Range("a1") Then
    For i = 1 To (rannge("a2") - Range("a1"))
    Do Until i = Range("a1")
    i = i - 1
    Range("a2") = i
    Loop
     
    If rannge("a2") < Range("a1") Then
    For i = 1 To (rannge("a2") - Range("a1"))
    Do Until i = Range("a1")
    i = i + 1
    Range("a2") = i
    Loop
    
    
    End Sub
    فقط دکمه مساوی را به تکرار فشار دهید.

    موفق باشید میر
    فایل های پیوست شده

    کامنت

    • khorasan66

      • 2012/06/12
      • 111

      #3
      با تشکر از پاسخ جنابعالی
      دستور پیشنهاد شده عمل نمی نماید املا Range را هم درست کرده ام
      ضمنا در فایل پیوستی اولیه من با فشرده شدن متوالی آیکون (( = )) جواب حاصل می شود
      من می خواهم با دستور loop با یک بار اجرای ماکرو به جواب برسم
      اگر a2=1000 باشد هزار بار فشردن آیکون (( = )) منطقی و ممکن نیست
      برای من مهم است که با دستور loop به جواب برسم
      راه حل های ریاضی برای این مسئله برایم مطرح نیست
      با تشکر

      کامنت

      • majid_mx4

        • 2012/06/25
        • 699

        #4
        با سلام

        ضمن تشکر

        امیدوار این کد مطابق درخواست شما باشد.

        کد:
        Sub Loop2()
        Dim i, iK As Integer
        If [A2] > [A1] Then
        i = [A2]
        Do Until i = [A1]
        i = i - 1
        Loop
        [A2] = i
        End If
        
        If [A2] < [A1] Then
        iK = [A2]
        Do Until iK = [A1]
        iK = iK + 1
        Loop
        [A2] = iK
        End If
        End Sub
        پایدار باشید میر
        فایل های پیوست شده

        کامنت

        چند لحظه..