استفاده از یک ثابت و یک فرمول در سلول با vba

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

    • 2016/05/21
    • 16

    [حل شده] استفاده از یک ثابت و یک فرمول در سلول با vba

    سلام به همه دوستان و اساتید
    من میخوام تو یه سلول مثلا D20 یه کد بنویسم که مقدار داخل این سلول رو که ثابت هست مثلا 2000 منهای جمع 500 تا از سلول های پایینش کنه. که میشه:
    =2000-sum(d21: d500)
    کد زیر رو تو ماکرو مینویسم :
    Activecell.formulaR1C1="RC-SUM(R[1]C:R[500]C)
    ولی جوابش میشه صفر...از طرفی من میخوام بجای RC خود عدد سلول که همون 2000 هست رو بذاره یعنی نتیجه کد بشه:
    =2000-sum(d21-d500)
    ولی وقتی از RC استفاده میکنم D20 رو نشون میده نه عدد ثابت 2000
    ممنون میشم راهنماییم کنید...
  • M_ExceL

    • 2018/04/23
    • 677

    #2
    نوشته اصلی توسط hamidr3za
    سلام به همه دوستان و اساتید
    من میخوام تو یه سلول مثلا D20 یه کد بنویسم که مقدار داخل این سلول رو که ثابت هست مثلا 2000 منهای جمع 500 تا از سلول های پایینش کنه. که میشه:
    =2000-sum(d21: d500)
    کد زیر رو تو ماکرو مینویسم :
    Activecell.formulaR1C1="RC-SUM(R[1]C:R[500]C)
    ولی جوابش میشه صفر...از طرفی من میخوام بجای RC خود عدد سلول که همون 2000 هست رو بذاره یعنی نتیجه کد بشه:
    =2000-sum(d21-d500)
    ولی وقتی از RC استفاده میکنم D20 رو نشون میده نه عدد ثابت 2000
    ممنون میشم راهنماییم کنید...
    سلام،
    مثال های زیر رو ببینید :
    کد:
    Sub e()
    [d20] = "=2000-sum(d21: d500)"
    End Sub
    
    Sub e2()
    Range("d20") = "=2000-sum(d21: d500)"
    End Sub
    [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
    [/CENTER]

    کامنت

    • hamidr3za

      • 2016/05/21
      • 16

      #3
      نوشته اصلی توسط M_ExceL
      سلام،
      مثال های زیر رو ببینید :
      کد:
      Sub e()
      [d20] = "=2000-sum(d21: d500)"
      End Sub
      
      Sub e2()
      Range("d20") = "=2000-sum(d21: d500)"
      End Sub
      ممنون از جوابتون ....
      فقط یه مشکلی هست که سلول d20 متعیره و عدد داخلش هم هر دفه تغییر میکنه...لطفا راهنمایی کنید

      کامنت

      • M_ExceL

        • 2018/04/23
        • 677

        #4
        نوشته اصلی توسط hamidr3za
        ممنون از جوابتون ....
        فقط یه مشکلی هست که سلول d20 متعیره و عدد داخلش هم هر دفه تغییر میکنه...لطفا راهنمایی کنید
        کد زیر رو داخل ماژول شیت 1 وارد کنید :
        کد:
        Private Sub Worksheet_Change(ByVal Target As Range)
        Application.EnableEvents = False
            If Target.Address = Range("d20").Address Then
                Range("d20") = "=" & Range("d20").Value & "-sum(d21: d500)"
            End If
        Application.EnableEvents = True
        End Sub
        فایل پیوست رو بررسی بفرمایید.
        یا حق.
        فایل های پیوست شده
        [CENTER]Telegram Channel : [url]https://t.me/UltraOfficeSkills[/url]
        [/CENTER]

        کامنت

        • hamidr3za

          • 2016/05/21
          • 16

          #5
          نوشته اصلی توسط M_ExceL
          کد زیر رو داخل ماژول شیت 1 وارد کنید :
          کد:
          Private Sub Worksheet_Change(ByVal Target As Range)
          Application.EnableEvents = False
              If Target.Address = Range("d20").Address Then
                  Range("d20") = "=" & Range("d20").Value & "-sum(d21: d500)"
              End If
          Application.EnableEvents = True
          End Sub
          فایل پیوست رو بررسی بفرمایید.
          یا حق.
          خیلی ممنون دوست عزیز خط چهارم دقیقا همون چیزی بود که دنبالش بودم. دستت درد نکنه خیلی لطف کردی

          کامنت

          چند لحظه..