Page 1 of 1

Unable to set the FormulaArray property of the Range class

Posted: Thu Feb 26, 2015 3:38 pm
by Totem
:D เรียนอาจารย์และเพื่อนสมาชิกทุกท่านครับ

vba ขึ้น Run-time error '1004':

Unable to set the FormulaArray property of the Range class

Code: Select all

Sub sheet1()

    Dim ws As Worksheet
    Dim r As Integer

        
        Set ws = ActiveWorkbook.Worksheets("sheet1")
                      
    With ws

        For r = 2 To 10
        
                Cells(r, 41).FormulaArray = _
                "=IF(OR(R[0]C[+1]  =  ""no"",COUNTIF(R2C36:R[0]C[-5],R[0]C[-5])=1,MAX(IF(R2C[-5]:R[0]C[-5]=R[0]C[-5],IF(R2C[+1]:R[0]C[+1]<>""no"",R2C[-3]:R[0]C[-3])))=0,MAX(IF((R1C[-5]:R[-1]C[-5]=R[0]C[-5],IF(R1C[+1]:R[-1]C[+1]<>""no"",R1C[-2]:R[-1]C[-2])))=0),0,MAX(IF(R2C[-5]:R[0]C[-5]=R[0]C[-5],IF(R2C[+1]:R[0]C[+1]<>""no"",R2C[-3]:R[0]C[-3])))-MAX(IF(R1C[-5]:R[-1]C[-5]=R[0]C[-5],IF(R1C[+1]:R[-1]C[+1]<>""no"",R1C[-2]:R[-1]C[-2]))))"

       Next r
                   
        End With
    
    End Sub
ปัญหาอยู่ที่

Code: Select all

Cells(r, 41).FormulaArray = _
                "=IF(OR(R[0]C[+1]  =  ""no"",COUNTIF(R2C36:R[0]C[-5],R[0]C[-5])=1,MAX(IF(R2C[-5]:R[0]C[-5]=R[0]C[-5],IF(R2C[+1]:R[0]C[+1]<>""no"",R2C[-3]:R[0]C[-3])))=0,MAX(IF((R1C[-5]:R[-1]C[-5]=R[0]C[-5],IF(R1C[+1]:R[-1]C[+1]<>""no"",R1C[-2]:R[-1]C[-2])))=0),0,MAX(IF(R2C[-5]:R[0]C[-5]=R[0]C[-5],IF(R2C[+1]:R[0]C[+1]<>""no"",R2C[-3]:R[0]C[-3])))-MAX(IF(R1C[-5]:R[-1]C[-5]=R[0]C[-5],IF(R1C[+1]:R[-1]C[+1]<>""no"",R1C[-2]:R[-1]C[-2]))))"
ลองแก้ไขแล้วยังไม่ได้ครับ ช่วยปรับ code :?: ให้ด้วยครับ

ขอบคุณครับ
FormulaArray.xlsm

Re: Unable to set the FormulaArray property of the Range class

Posted: Thu Feb 26, 2015 6:53 pm
by snasui
:D การเขียน VBA ให้เขียนสูตร Array ใน Excel จะมีข้อจำกัดว่าสามารถใช้อักขระได้เพียง 255 อักขระเท่านั้นครับ

Re: Unable to set the FormulaArray property of the Range class

Posted: Thu Feb 26, 2015 8:56 pm
by Totem
snasui wrote::D การเขียน VBA ให้เขียนสูตร Array ใน Excel จะมีข้อจำกัดว่าสามารถใช้อักขระได้เพียง 255 อักขระเท่านั้นครับ
:D ถึงว่า :o ผมเขียนถูกแล้วแต่มีข้อจำกัดนี่เอง ขอบคุณครับอาจารย์ :thup: :cp:

Re: Unable to set the FormulaArray property of the Range class

Posted: Thu Feb 26, 2015 9:04 pm
by Totem
:D ขอถามเพิ่มเติมครับ
หากเป็น formula= code..... หรือ formulaR1C1 จะมีข้อจำกัดว่าสามารถใช้อักขระได้เพียง 255 อักขระใช่ไหมครับ

Re: Unable to set the FormulaArray property of the Range class

Posted: Thu Feb 26, 2015 9:14 pm
by snasui
:D Property .ArrayFormula สามารถใช้ได้เพียง R1C1 Style เท่านั้น อ่านเพิ่มเติมที่นี่ครับ https://msdn.microsoft.com/en-us/librar ... e.15).aspx

Re: Unable to set the FormulaArray property of the Range class

Posted: Thu Feb 26, 2015 9:29 pm
by Totem
snasui wrote::D Property .ArrayFormula สามารถใช้ได้เพียง R1C1 Style เท่านั้น อ่านเพิ่มเติมที่นี่ครับ https://msdn.microsoft.com/en-us/librar ... e.15).aspx
:D ขอบคุณครับ