اصلاح فرمول vba

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

    • 2015/05/24
    • 110

    پرسش اصلاح فرمول vba

    با سلام و صبح بخیر خدمت دوستان
    این فرمول را با راهنمایی دوستان نوشتم
    همان طور که مشاهده میفرمایید من شرط گذاشتم اگه Qبرابر 1 یا 2 یا 4 بود آنگاه در سلول 17 بنویسه D و در سلول 18 بنویسه E من مجبور شدم این شرط را 2 با بنویسم
    Y = ActiveSheet.Cells(5).Column
    K = ActiveSheet.Cells(35).Column
    For i = Y To K

    If Cells(4, i) <> "*" Then
    Q = LCase(Cells(3, i).Value)

    If Q = "1" Or Q = "2" Or Q = "4 " Then Cells(17, i).Value = "D"
    If Q = "1" Or Q = "2" Or Q = "4 " Then Cells(18, i).Value = "E"


    Else
    Cells(17, i).Value = ""
    Cells(18, i).Value = ""

    End If

    Next i


    چطور باید فرمول اصلاح بشه که مثلا بگیم گه Q برابر 1یا 2 یا 3 بود درسلول 17 بنویس D و در سلول 18 بنویس D

    If Q = "1" Or Q = "2" Or Q = "4 " Then Cells(17, i).Value = "D" And Cells(18, i).Value = "E"

    سوال دوم من هم این است که اگه مشاهده بفرمایید در فرمول به جای نوشتن هر باره LCase(Cells(3, i).Value) از Q استفاده کردیم
    من خواستم به جای نوشتن Then Cells(17, i).Value از SH1 و به جای Cells(18, i).Value از SH2 استفاده کنم به این صورت


    If Cells(4, i) <> "*" Then
    Q = LCase(Cells(3, i).Value)
    SH1 = Cells(17, i).Value
    SH2 = Cells(18, i).Value

    If Q = "1" Or Q = "2" Or Q = "4 " Then SH1 = "D" And SH2 = "E"

    Else
    SH1 = ""
    SH2 = ""

    End If

    اما جواب نمیده به این صورت
    دوستان و اساتید راهنمایی بفرمایند مشکل من چطور باید حل شود ممنون میشم
    با تشکر



  • iranweld

    • 2015/03/29
    • 3341

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

    کامنت

    • امین نیما

      • 2015/05/24
      • 110

      #3
      نوشته اصلی توسط iranweld
      لطفا فایل را هم ضمیمه کنید که نیاز به نوشتن مجدد فایل اکسل جدید نباشد
      خدمت شما
      فایل های پیوست شده

      کامنت

      • iranweld

        • 2015/03/29
        • 3341

        #4
        با سلام

        مورد اول ماکرو درست شد

        کد PHP:
        For y To K

        If Cells(4i) <> "*" Then

        LCase(Cells(3i).Value)

        If 
        "1" Or "2" Or "4" Then

        Cells
        (6i).Value "D"

        Cells(7i).Value "E"

        Else

        Cells(6i).Value ""
        Cells(7i).Value ""

        End If

        End If 
        فایل های پیوست شده

        کامنت

        چند لحظه..