مرحوم محمد محمدی

🖤 پیام تسلیت

با نهایت تأسف و تأثر، باخبر شدیم جناب آقای محمد محمدی با نام کاربری smartman ، از مدیران ارزشمند انجمن اکسل ایران، دار فانی را وداع گفته‌اند.

ایشان سال‌ها با دانش، تجربه، اخلاق نیکو و روحیه کمک به دیگران، سهم بزرگی در رشد و پویایی انجمن داشتند و خاطره حضور ارزشمندشان همواره در ذهن اعضای انجمن باقی خواهد ماند.

مدیریت و اعضای انجمن ExcelIran این ضایعه را به خانواده محترم ایشان، دوستان و تمامی اعضای انجمن تسلیت عرض نموده و از خداوند متعال برای آن مرحوم، رحمت و مغفرت الهی و برای بازماندگان صبر و شکیبایی مسئلت دارند.


انا لله و انا الیه راجعون

کمک برای جایگزینی فرمول در سلول

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

    • 2016/06/29
    • 147
    • 41.00

    [حل شده] کمک برای جایگزینی فرمول در سلول

    سلام
    من یه برنامه دارم دارم توش یه تغییراتی میدم و میخوام با کمک vba فرمولعای نوشته شده در یکسری از سلولها رو عوض کنم کد زیر رو هم براش نوشتم ولی با وجودی که نتیجه کد رو (همون فرمول نهائی) به دستور msgbox نگاه کردم و کاملآ درسته ولی اکسل در خطی که میگم خطا میده چکار کنم ؟؟؟؟؟؟؟؟
    کد:
    Sub tst()
    
           For r = 22 To 37
                For c = 32 To 266 Step 9
                    ad = Cells(r, c).Address
                    f = Range(ad).Formula
                    f = Right(f, Len(f) - 1)
                    fn = "=IF(" & f & "=" & Chr(34) & Chr(34) & ";0;" & f & ")"
                    f1 = InStr(1, fn, ",")
                    fn = Left(fn, f1 - 1) & ";" & Right(fn, Len(fn) - f1)
                    f1 = InStr(1, fn, ",")
                    fn = Left(fn, f1 - 1) & ";" & Right(fn, Len(fn) - f1)
                    MsgBox fn
                    Range(ad).Formula = fn
                Next c
            Next r
    End Sub

    خط دارای خطا
    کد PHP:
                    Range(ad).Formula = fn 
    خطهای پایین برا اینه که جدا کننده تو سیستم من بجای کاما - سمی کالنه
    کد:
    f1 = InStr(1, fn, ",")
                    fn = Left(fn, f1 - 1) & ";" & Right(fn, Len(fn) - f1)
                    f1 = InStr(1, fn, ",")
                    fn = Left(fn, f1 - 1) & ";" & Right(fn, Len(fn) - f1)
    Last edited by كامران; 2018/01/18, 00:40.
  • iranweld

    • 2015/03/29
    • 3341

    #2
    با سلام
    نمونه فایل رو بصورت زیپ شده ضمیمه سایت کنید

    فعلا این کدها رو تست کنید

    کد PHP:
    Sub tst()

           For 
    22 To 37
                
    For 32 To 266 Step 9
                    ad 
    Cells(rc)
                    
    ad.Formula
                    f 
    Right(fLen(f) - 1)
                    fn = 
    "=IF(" "=" Chr(34) & Chr(34) & ";0;" ")"
                    
    f1 InStr(1, fn, ",")
                    fn = 
    Left(fn, f1 1) & ";" Right(fn, Len(fn) - f1)
                    
    f1 InStr(1, fn, ",")
                    fn = 
    Left(fn, f1 1) & ";" Right(fn, Len(fn) - f1)
                    
    MsgBox fn
                    
    Range(ad).Formula = fn
                
    Next c
            Next r
    End Sub 

    کامنت

    • Amir Ghasemiyan

      • 2013/09/20
      • 4600
      • 100.00

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

      در فرمول هايي كه در vba مينويسيد بايد حتما از ( , ) به عنوان جدا كننده آرگومان ها استفاده كنيد حتي اگر در خود اكسل از ( ; ) استفاده ميكنيد

      کامنت

      چند لحظه..