Page 1 of 1

สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 10:47 am
by nony
ผมเขียน code แล้ว เนื่องจาก code ใน module2 นั้นยาวเกินไป ทำให้เกิด procedure too large แต่ผมต้องการเขียน code ใน module นั้นเพิ่มครับ อยากทราบว่า มีวิธีที่จะทำให้เขียน code ใน module2 นั้นเพิ่มหรือไม่ หรือมีวิธีอื่นครับ

ปล. ผมลองหาดูแล้ว เหมือนว่าจะมีวิธี sub runallcode () แต่ผมยังไม่ค่อยเข้าใจวิธีนี้เท่าไหร่ครับ
ขอบคุณมากครับ
1.jpg
2.jpg
รบกวนช่วยผมทีนะครับ
ขอบคุณมากครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 11:02 am
by snasui
:D ควรแนบไฟล์โปรแกรมมาด้วย โดยตัดส่วนที่ไม่เกี่ยวข้องออกไป ทบทวนกฎข้อ 4 ด้านบนอีกครั้ง :roll: เผื่อว่ามีข้อมูลที่ไม่ควรเปิดเผยครับ

เบื้องต้นผมเข้าใจว่า Code มีขนาดเกิน 64kb ควรจะแบ่งให้ไปอยู่ Procedure อื่นแทนการเขียนเพียง Procedure เดียวครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 11:11 am
by nony
คือ code ของผมค่อนข้างจะเยอะ เพราะผมเขียนไม่เก่งเท่าไหร่นะครับ
เป็นการดึงค่ามาจากตารางในอีก tab นึงเพื่อเอามาใช้ครับ
ดึงหลายๆครั้ง code เลยเยอะขึ้นเรื่อยๆ

ผมไม่ทราบวิธีแบ่ง procedure ด้วยครับ เลยต้องยัดเข้ามาอยู่ใน procedure เดียวแบบนี้ครับ
ส่วนเรื่องความลับ ไมีมีอะไรสำคัญครับ
ขอบคุณครับ ที่สละเวลาช่วยเหลือครับ

ปล. จะมีภาษาไทยด้วย ใน code เลยขึ้นเป็นภาษาต่างดาวแทน

Code: Select all

Public Function cost(list As String, piece As String, kind As String) As String

    If list = "0" Then
    cost = "0"
     
        
        
        ElseIf list = "4/8*1.5*100_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H14").Value * Worksheets("Ref_Table").Range("I14").Value
         ElseIf list = "4/8*1.5*100_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H14").Value * Worksheets("Ref_Table").Range("J14").Value
        ElseIf list = "4/8*1.5*100_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H14").Value * Worksheets("Ref_Table").Range("K14").Value
        
        ElseIf list = "4/8*1.75*100_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H15").Value * Worksheets("Ref_Table").Range("I15").Value
         ElseIf list = "4/8*1.75*100_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H15").Value * Worksheets("Ref_Table").Range("J15").Value
        ElseIf list = "4/8*1.75*100_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H15").Value * Worksheets("Ref_Table").Range("K15").Value
        
        ElseIf list = "4/8*2*100_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H16").Value * Worksheets("Ref_Table").Range("I16").Value
         ElseIf list = "4/8*2*100_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H16").Value * Worksheets("Ref_Table").Range("J16").Value
        ElseIf list = "4/8*2*100_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H16").Value * Worksheets("Ref_Table").Range("K16").Value
        
        ElseIf list = "4/8*2.5*100_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H17").Value * Worksheets("Ref_Table").Range("I17").Value
         ElseIf list = "4/8*2.5*100_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H17").Value * Worksheets("Ref_Table").Range("J17").Value
        ElseIf list = "4/8*2.5*100_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H17").Value * Worksheets("Ref_Table").Range("K17").Value
        
        ElseIf list = "4/8*3*100_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H18").Value * Worksheets("Ref_Table").Range("I18").Value
         ElseIf list = "4/8*3*100_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H18").Value * Worksheets("Ref_Table").Range("J18").Value
        ElseIf list = "4/8*3*100_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H18").Value * Worksheets("Ref_Table").Range("K18").Value
        
        ElseIf list = "4/8*4*100_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H19").Value * Worksheets("Ref_Table").Range("I19").Value
         ElseIf list = "4/8*4*100_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H19").Value * Worksheets("Ref_Table").Range("J19").Value
        ElseIf list = "4/8*4*100_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H19").Value * Worksheets("Ref_Table").Range("K19").Value
        
        ElseIf list = "4/8*1.5*110_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H20").Value * Worksheets("Ref_Table").Range("I20").Value
         ElseIf list = "4/8*1.5*110_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H20").Value * Worksheets("Ref_Table").Range("J20").Value
        ElseIf list = "4/8*1.5*110_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H20").Value * Worksheets("Ref_Table").Range("K20").Value
        
        ElseIf list = "4/8*1.75*110_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H21").Value * Worksheets("Ref_Table").Range("I21").Value
         ElseIf list = "4/8*1.75*110_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H21").Value * Worksheets("Ref_Table").Range("J21").Value
        ElseIf list = "4/8*1.75*110_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H21").Value * Worksheets("Ref_Table").Range("K21").Value
        
        ElseIf list = "4/8*2*110_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H22").Value * Worksheets("Ref_Table").Range("I22").Value
         ElseIf list = "4/8*2*110_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H22").Value * Worksheets("Ref_Table").Range("J22").Value
        ElseIf list = "4/8*2*110_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H22").Value * Worksheets("Ref_Table").Range("K22").Value
        
        ElseIf list = "4/8*2.5*110_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H23").Value * Worksheets("Ref_Table").Range("I23").Value
         ElseIf list = "4/8*2.5*110_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H23").Value * Worksheets("Ref_Table").Range("J23").Value
        ElseIf list = "4/8*2.5*110_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H23").Value * Worksheets("Ref_Table").Range("K23").Value
        
        ElseIf list = "4/8*3*110_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H24").Value * Worksheets("Ref_Table").Range("I24").Value
         ElseIf list = "4/8*3*110_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H24").Value * Worksheets("Ref_Table").Range("J24").Value
        ElseIf list = "4/8*3*110_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H24").Value * Worksheets("Ref_Table").Range("K24").Value
        
        ElseIf list = "4/8*4*110_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H25").Value * Worksheets("Ref_Table").Range("I25").Value
         ElseIf list = "4/8*4*110_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H25").Value * Worksheets("Ref_Table").Range("J25").Value
        ElseIf list = "4/8*4*110_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H25").Value * Worksheets("Ref_Table").Range("K25").Value
        
        ElseIf list = "4/8*1.5*100_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H26").Value * Worksheets("Ref_Table").Range("I26").Value
         ElseIf list = "4/8*1.5*100_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H26").Value * Worksheets("Ref_Table").Range("J26").Value
        ElseIf list = "4/8*1.5*100_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H26").Value * Worksheets("Ref_Table").Range("K26").Value
        
        ElseIf list = "4/8*1.75*100_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H27").Value * Worksheets("Ref_Table").Range("I27").Value
         ElseIf list = "4/8*1.75*100_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H27").Value * Worksheets("Ref_Table").Range("J27").Value
        ElseIf list = "4/8*1.75*100_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H27").Value * Worksheets("Ref_Table").Range("K27").Value
        
        ElseIf list = "4/8*2*100_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H28").Value * Worksheets("Ref_Table").Range("I28").Value
         ElseIf list = "4/8*2*100_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H28").Value * Worksheets("Ref_Table").Range("J28").Value
        ElseIf list = "4/8*2*100_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H28").Value * Worksheets("Ref_Table").Range("K28").Value
        
        ElseIf list = "4/8*2.5*100_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H29").Value * Worksheets("Ref_Table").Range("I29").Value
         ElseIf list = "4/8*2.5*100_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H29").Value * Worksheets("Ref_Table").Range("J29").Value
        ElseIf list = "4/8*2.5*100_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H29").Value * Worksheets("Ref_Table").Range("K29").Value
        
        ElseIf list = "4/8*3*100_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H30").Value * Worksheets("Ref_Table").Range("I30").Value
         ElseIf list = "4/8*3*100_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H30").Value * Worksheets("Ref_Table").Range("J30").Value
        ElseIf list = "4/8*3*100_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H30").Value * Worksheets("Ref_Table").Range("K30").Value
        
        ElseIf list = "4/8*4*100_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H31").Value * Worksheets("Ref_Table").Range("I31").Value
         ElseIf list = "4/8*4*100_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H31").Value * Worksheets("Ref_Table").Range("J31").Value
        ElseIf list = "4/8*4*100_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H31").Value * Worksheets("Ref_Table").Range("K31").Value
        
        ElseIf list = "4/8*1.5*110_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H32").Value * Worksheets("Ref_Table").Range("I32").Value
         ElseIf list = "4/8*1.5*110_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H32").Value * Worksheets("Ref_Table").Range("J32").Value
        ElseIf list = "4/8*1.5*110_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H32").Value * Worksheets("Ref_Table").Range("K32").Value
        
        ElseIf list = "4/8*1.75*110_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H33").Value * Worksheets("Ref_Table").Range("I33").Value
         ElseIf list = "4/8*1.75*110_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H33").Value * Worksheets("Ref_Table").Range("J33").Value
        ElseIf list = "4/8*1.75*110_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H33").Value * Worksheets("Ref_Table").Range("K33").Value
        
        ElseIf list = "4/8*2*110_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H34").Value * Worksheets("Ref_Table").Range("I34").Value
         ElseIf list = "4/8*2*110_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H34").Value * Worksheets("Ref_Table").Range("J34").Value
        ElseIf list = "4/8*2*110_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H34").Value * Worksheets("Ref_Table").Range("K34").Value
        
        ElseIf list = "4/8*2.5*110_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H35").Value * Worksheets("Ref_Table").Range("I35").Value
         ElseIf list = "4/8*2.5*110_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H35").Value * Worksheets("Ref_Table").Range("J35").Value
        ElseIf list = "4/8*2.5*110_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H35").Value * Worksheets("Ref_Table").Range("K35").Value
        
        ElseIf list = "4/8*3*110_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H36").Value * Worksheets("Ref_Table").Range("I36").Value
         ElseIf list = "4/8*3*110_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H36").Value * Worksheets("Ref_Table").Range("J36").Value
        ElseIf list = "4/8*3*110_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H36").Value * Worksheets("Ref_Table").Range("K36").Value
        
        ElseIf list = "4/8*4*110_24mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H37").Value * Worksheets("Ref_Table").Range("I37").Value
         ElseIf list = "4/8*4*110_24mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H37").Value * Worksheets("Ref_Table").Range("J37").Value
        ElseIf list = "4/8*4*110_24mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H37").Value * Worksheets("Ref_Table").Range("K37").Value
        
        ElseIf list = "4/8*1.5*130_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H38").Value * Worksheets("Ref_Table").Range("I38").Value
         ElseIf list = "4/8*1.5*130_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H38").Value * Worksheets("Ref_Table").Range("J38").Value
        ElseIf list = "4/8*1.5*130_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H38").Value * Worksheets("Ref_Table").Range("K38").Value
        
        ElseIf list = "4/8*1.75*130_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H39").Value * Worksheets("Ref_Table").Range("I39").Value
         ElseIf list = "4/8*1.75*130_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H39").Value * Worksheets("Ref_Table").Range("J39").Value
        ElseIf list = "4/8*1.75*130_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H39").Value * Worksheets("Ref_Table").Range("K39").Value
        
        ElseIf list = "4/8*2*130_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H40").Value * Worksheets("Ref_Table").Range("I40").Value
         ElseIf list = "4/8*2*130_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H40").Value * Worksheets("Ref_Table").Range("J40").Value
        ElseIf list = "4/8*2*130_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H40").Value * Worksheets("Ref_Table").Range("K40").Value
        
        ElseIf list = "4/8*2.5*130_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H41").Value * Worksheets("Ref_Table").Range("I41").Value
         ElseIf list = "4/8*2.5*130_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H41").Value * Worksheets("Ref_Table").Range("J41").Value
        ElseIf list = "4/8*2.5*130_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H41").Value * Worksheets("Ref_Table").Range("K41").Value
        
        ElseIf list = "4/8*3*130_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H42").Value * Worksheets("Ref_Table").Range("I42").Value
         ElseIf list = "4/8*3*130_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H42").Value * Worksheets("Ref_Table").Range("J42").Value
        ElseIf list = "4/8*3*130_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H42").Value * Worksheets("Ref_Table").Range("K42").Value
        
        ElseIf list = "4/8*4*130_22,23mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H43").Value * Worksheets("Ref_Table").Range("I43").Value
         ElseIf list = "4/8*4*130_22,23mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H43").Value * Worksheets("Ref_Table").Range("J43").Value
        ElseIf list = "4/8*4*130_22,23mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H43").Value * Worksheets("Ref_Table").Range("K43").Value
        
       
        
        ElseIf list = "4/8*1.5*100_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H50").Value * Worksheets("Ref_Table").Range("I50").Value
         ElseIf list = "4/8*1.5*100_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H50").Value * Worksheets("Ref_Table").Range("J50").Value
        ElseIf list = "4/8*1.5*100_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H50").Value * Worksheets("Ref_Table").Range("K50").Value
        
        ElseIf list = "4/8*1.75*100_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H51").Value * Worksheets("Ref_Table").Range("I51").Value
         ElseIf list = "4/8*1.75*100_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H51").Value * Worksheets("Ref_Table").Range("J51").Value
        ElseIf list = "4/8*1.75*100_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H51").Value * Worksheets("Ref_Table").Range("K51").Value
        
        ElseIf list = "4/8*2*100_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H52").Value * Worksheets("Ref_Table").Range("I52").Value
         ElseIf list = "4/8*2*100_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H52").Value * Worksheets("Ref_Table").Range("J52").Value
        ElseIf list = "4/8*2*100_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H52").Value * Worksheets("Ref_Table").Range("K52").Value
        
        ElseIf list = "4/8*2.5*100_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H53").Value * Worksheets("Ref_Table").Range("I53").Value
         ElseIf list = "4/8*2.5*100_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H53").Value * Worksheets("Ref_Table").Range("J53").Value
        ElseIf list = "4/8*2.5*100_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H53").Value * Worksheets("Ref_Table").Range("K53").Value
        
        ElseIf list = "4/8*3*100_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H54").Value * Worksheets("Ref_Table").Range("I54").Value
         ElseIf list = "4/8*3*100_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H54").Value * Worksheets("Ref_Table").Range("J54").Value
        ElseIf list = "4/8*3*100_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H54").Value * Worksheets("Ref_Table").Range("K54").Value
        
        ElseIf list = "4/8*4*100_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H55").Value * Worksheets("Ref_Table").Range("I55").Value
         ElseIf list = "4/8*4*100_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H55").Value * Worksheets("Ref_Table").Range("J55").Value
        ElseIf list = "4/8*4*100_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H55").Value * Worksheets("Ref_Table").Range("K55").Value
     
        ElseIf list = "4/8*1.5*110_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H56").Value * Worksheets("Ref_Table").Range("I56").Value
         ElseIf list = "4/8*1.5*110_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H56").Value * Worksheets("Ref_Table").Range("J56").Value
        ElseIf list = "4/8*1.5*110_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H56").Value * Worksheets("Ref_Table").Range("K56").Value
        
        ElseIf list = "4/8*1.75*110_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H57").Value * Worksheets("Ref_Table").Range("I57").Value
         ElseIf list = "4/8*1.75*110_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H57").Value * Worksheets("Ref_Table").Range("J57").Value
        ElseIf list = "4/8*1.75*110_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H57").Value * Worksheets("Ref_Table").Range("K57").Value
        
        ElseIf list = "4/8*2*110_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H58").Value * Worksheets("Ref_Table").Range("I58").Value
         ElseIf list = "4/8*2*110_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H58").Value * Worksheets("Ref_Table").Range("J58").Value
        ElseIf list = "4/8*2*110_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H58").Value * Worksheets("Ref_Table").Range("K58").Value
        
        ElseIf list = "4/8*2.5*110_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H59").Value * Worksheets("Ref_Table").Range("I59").Value
         ElseIf list = "4/8*2.5*110_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H59").Value * Worksheets("Ref_Table").Range("J59").Value
        ElseIf list = "4/8*2.5*110_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H59").Value * Worksheets("Ref_Table").Range("K59").Value
        
        ElseIf list = "4/8*3*110_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H60").Value * Worksheets("Ref_Table").Range("I60").Value
         ElseIf list = "4/8*3*110_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H60").Value * Worksheets("Ref_Table").Range("J60").Value
        ElseIf list = "4/8*3*110_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H60").Value * Worksheets("Ref_Table").Range("K60").Value
        
        ElseIf list = "4/8*4*110_25mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H61").Value * Worksheets("Ref_Table").Range("I61").Value
         ElseIf list = "4/8*4*110_25mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H61").Value * Worksheets("Ref_Table").Range("J61").Value
        ElseIf list = "4/8*4*110_25mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H61").Value * Worksheets("Ref_Table").Range("K61").Value
        
        
        
        ElseIf list = "5/8*1.5*100_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H74").Value * Worksheets("Ref_Table").Range("I74").Value
         ElseIf list = "5/8*1.5*100_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H74").Value * Worksheets("Ref_Table").Range("J74").Value
        ElseIf list = "5/8*1.5*100_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H74").Value * Worksheets("Ref_Table").Range("K74").Value
        
        ElseIf list = "5/8*1.75*100_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H75").Value * Worksheets("Ref_Table").Range("I75").Value
         ElseIf list = "5/8*1.75*100_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H75").Value * Worksheets("Ref_Table").Range("J75").Value
        ElseIf list = "5/8*1.75*100_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H75").Value * Worksheets("Ref_Table").Range("K75").Value
        
        ElseIf list = "5/8*2*100_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H76").Value * Worksheets("Ref_Table").Range("I76").Value
         ElseIf list = "5/8*2*100_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H76").Value * Worksheets("Ref_Table").Range("J76").Value
        ElseIf list = "5/8*2*100_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H76").Value * Worksheets("Ref_Table").Range("K76").Value
        
        ElseIf list = "5/8*2.5*100_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H77").Value * Worksheets("Ref_Table").Range("I77").Value
         ElseIf list = "5/8*2.5*100_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H77").Value * Worksheets("Ref_Table").Range("J77").Value
        ElseIf list = "5/8*2.5*100_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H77").Value * Worksheets("Ref_Table").Range("K77").Value
        
        ElseIf list = "5/8*3*100_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H78").Value * Worksheets("Ref_Table").Range("I78").Value
         ElseIf list = "5/8*3*100_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H78").Value * Worksheets("Ref_Table").Range("J78").Value
        ElseIf list = "5/8*3*100_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H78").Value * Worksheets("Ref_Table").Range("K78").Value
        
        ElseIf list = "5/8*4*100_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H79").Value * Worksheets("Ref_Table").Range("I79").Value
         ElseIf list = "5/8*4*100_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H79").Value * Worksheets("Ref_Table").Range("J79").Value
        ElseIf list = "5/8*4*100_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H79").Value * Worksheets("Ref_Table").Range("K79").Value
        
        ElseIf list = "5/8*1.5*110_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H80").Value * Worksheets("Ref_Table").Range("I80").Value
         ElseIf list = "5/8*1.5*110_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H80").Value * Worksheets("Ref_Table").Range("J80").Value
        ElseIf list = "5/8*1.5*110_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H80").Value * Worksheets("Ref_Table").Range("K80").Value
        
        ElseIf list = "5/8*1.75*110_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H81").Value * Worksheets("Ref_Table").Range("I81").Value
         ElseIf list = "5/8*1.75*110_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H81").Value * Worksheets("Ref_Table").Range("J81").Value
        ElseIf list = "5/8*1.75*110_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H81").Value * Worksheets("Ref_Table").Range("K81").Value
        
        ElseIf list = "5/8*2*110_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H82").Value * Worksheets("Ref_Table").Range("I82").Value
         ElseIf list = "5/8*2*110_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H82").Value * Worksheets("Ref_Table").Range("J82").Value
        ElseIf list = "5/8*2*110_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H82").Value * Worksheets("Ref_Table").Range("K82").Value
        
        ElseIf list = "5/8*2.5*110_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H83").Value * Worksheets("Ref_Table").Range("I83").Value
         ElseIf list = "5/8*2.5*110_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H83").Value * Worksheets("Ref_Table").Range("J83").Value
        ElseIf list = "5/8*2.5*110_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H83").Value * Worksheets("Ref_Table").Range("K83").Value
        
        ElseIf list = "5/8*3*110_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H84").Value * Worksheets("Ref_Table").Range("I84").Value
         ElseIf list = "5/8*3*110_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H84").Value * Worksheets("Ref_Table").Range("J84").Value
        ElseIf list = "5/8*3*110_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H84").Value * Worksheets("Ref_Table").Range("K84").Value
        
        ElseIf list = "5/8*4*110_31mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H85").Value * Worksheets("Ref_Table").Range("I85").Value
         ElseIf list = "5/8*4*110_31mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H85").Value * Worksheets("Ref_Table").Range("J85").Value
        ElseIf list = "5/8*4*110_31mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H85").Value * Worksheets("Ref_Table").Range("K85").Value
        
        ElseIf list = "6/8*1.5*100_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H86").Value * Worksheets("Ref_Table").Range("I86").Value
         ElseIf list = "6/8*1.5*100_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H86").Value * Worksheets("Ref_Table").Range("J86").Value
        ElseIf list = "6/8*1.5*100_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H86").Value * Worksheets("Ref_Table").Range("K86").Value
        
        ElseIf list = "6/8*1.75*100_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H87").Value * Worksheets("Ref_Table").Range("I87").Value
         ElseIf list = "6/8*1.75*100_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H87").Value * Worksheets("Ref_Table").Range("J87").Value
        ElseIf list = "6/8*1.75*100_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H87").Value * Worksheets("Ref_Table").Range("K87").Value
        
        ElseIf list = "6/8*2*100_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H88").Value * Worksheets("Ref_Table").Range("I88").Value
         ElseIf list = "6/8*2*100_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H88").Value * Worksheets("Ref_Table").Range("J88").Value
        ElseIf list = "6/8*2*100_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H88").Value * Worksheets("Ref_Table").Range("K88").Value
        
        ElseIf list = "6/8*2.5*100_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H89").Value * Worksheets("Ref_Table").Range("I89").Value
         ElseIf list = "6/8*2.5*100_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H89").Value * Worksheets("Ref_Table").Range("J89").Value
        ElseIf list = "6/8*2.5*100_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H89").Value * Worksheets("Ref_Table").Range("K89").Value
        
        ElseIf list = "6/8*3*100_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H90").Value * Worksheets("Ref_Table").Range("I90").Value
         ElseIf list = "6/8*3*100_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H90").Value * Worksheets("Ref_Table").Range("J90").Value
        ElseIf list = "6/8*3*100_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H90").Value * Worksheets("Ref_Table").Range("K90").Value
        
        ElseIf list = "6/8*4*100_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H91").Value * Worksheets("Ref_Table").Range("I91").Value
         ElseIf list = "6/8*4*100_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H91").Value * Worksheets("Ref_Table").Range("J91").Value
        ElseIf list = "6/8*4*100_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H91").Value * Worksheets("Ref_Table").Range("K91").Value
        
        ElseIf list = "6/8*5*100_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H92").Value * Worksheets("Ref_Table").Range("I92").Value
         ElseIf list = "6/8*5*100_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H92").Value * Worksheets("Ref_Table").Range("J92").Value
        ElseIf list = "6/8*5*100_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H92").Value * Worksheets("Ref_Table").Range("K92").Value

        ElseIf list = "6/8*1.5*110_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H93").Value * Worksheets("Ref_Table").Range("I93").Value
         ElseIf list = "6/8*1.5*110_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H93").Value * Worksheets("Ref_Table").Range("J93").Value
        ElseIf list = "6/8*1.5*110_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H93").Value * Worksheets("Ref_Table").Range("K93").Value
        
        ElseIf list = "6/8*1.75*110_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H94").Value * Worksheets("Ref_Table").Range("I94").Value
         ElseIf list = "6/8*1.75*110_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H94").Value * Worksheets("Ref_Table").Range("J94").Value
        ElseIf list = "6/8*1.75*110_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H94").Value * Worksheets("Ref_Table").Range("K94").Value
        
        ElseIf list = "6/8*2*110_33mm" And kind = "ÃÒ¤Ò»¡µÔ" Then
        cost = Worksheets("Ref_Table").Range("H95").Value * Worksheets("Ref_Table").Range("I95").Value
         ElseIf list = "6/8*2*110_33mm" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
        cost = Worksheets("Ref_Table").Range("H95").Value * Worksheets("Ref_Table").Range("J95").Value
        ElseIf list = "6/8*2*110_33mm" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
        cost = Worksheets("Ref_Table").Range("H95").Value * Worksheets("Ref_Table").Range("K95").Value
     
        
        
     ElseIf list = "0" And kind = "ÃÒ¤Ò»¡µÔ" Then
    cost = 0
     ElseIf list = "0" And kind = "ÃÒ¤Ò¾ÔàÈÉ" Then
     cost = 0
     ElseIf list = "0" And kind = "ÃÒ¤Ò«Ø»à»ÍÃì" Then
     cost = 0
     End If
End Function

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 11:16 am
by snasui
:D Code ด้านบนนี้ในเครื่องผมสามารถ Run ได้ ไม่ติดปัญหาใดครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 2:23 pm
by nony
snasui wrote::D Code ด้านบนนี้ในเครื่องผมสามารถ Run ได้ ไม่ติดปัญหาใดครับ
คือผมต้องตัด code บางส่วนออกครับ เพราะเขาไม่ให้วาง code เกิน 60k ตัวอักษรครับ เลย run ได้
จริงๆแล้วมันจะต้องติด procedure too large ครับ

ขอบคุณครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 2:52 pm
by snasui
:lol: ผมได้แจ้งให้แนบไฟล์มาตั้งแต่โพสต์ก่อนหน้าก็ควรจะทำตามนั้น จะได้ช่วยทดสอบได้ครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 5:05 pm
by nony
แล้วผมจะต้องแนบแบบไหนครับ คือมันใหญ่เกิน แนบไม่ได้เลยครับ
รบกวนด้วยนะครับ มือใหม่มาก

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 5:25 pm
by snasui
:D ตัดมาเฉพาะที่เกี่ยวข้องครับ

ไฟล์ไม่ควรมีขนาดเกิน 500 KB หรืออีกวิธี Copy Code ใส่ใน Text File แล้วแนบ Text File นั้นมา หากแนบไม่ได้ให้ Zip เสียก่อนครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 5:46 pm
by nony
ผมเอา code ใส่ text file แล้ว zip มาให้นะครับ
ขอบคุณครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 6:10 pm
by snasui
:D ในเครื่องผมยัง Run ได้ปกติครับ

Code ทั้งหมดมี 1,041 บรรทัดรวม White Space (บรรทัดว่าง)

Spec เครื่องผม Windows 10, Excel 2016 64bit

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 8:21 pm
by nony
ถ้าแบบนั้นเป็นที่อะไรอีกได้บ้างครับ เพราะที่เครื่องผมยัง error อยู่เลยครับ
ขอบคุณครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Sun Jul 16, 2017 8:39 pm
by snasui
:D การฟ้องลักษณะนั้นแสดงว่า Procedure มีขนาดเกิน 64K ครับ

Code นั้นสามารถปรับให้สั้นเหลือเพียงไม่กี่บรรทัด ลองทำไฟล์ตัวอย่างขึ้นมาเองใหม่ อธิบายรายละเอียดมาให้ชัดเจนว่าต้องการจะแสดงค่าใด ที่เซลล์ใด ชีตใด ด้วยเงื่อนไขใด จะได้ตอบได้ตรงประเด็นครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Mon Jul 17, 2017 12:54 pm
by nony
ผมทำไฟล์คิดค่าแรงของแผนกแพคกิ้งในบริษัทครับ
ซึ่งค่าแรงมาจาก จำนวนก้อนที่พนักงานแพ็คได้ x ราคาค่าแรงต่อก้อน
โดยที่ส่วนที่มีปัญหาคือ function cost (แถว I) ซึ่งค่า cost นั้นจะอิงมาจาก sheet Ref_table
ที่มาจะเริ่มต้นจาก
1.การเลือก "รายการ" (แถว D) เพื่อบอกว่าทำรายการไม้ชนิดไหน
2. เลือกชนิดของค่าแรงใน "ประเภทราคา" (แถว F) เพื่อบอกว่าเป็นค่าแรงแบบปกติ พิเศษ หรือ ซุปเปอร์

แล้วจะไปหยิบค่า cost จาก sheet (Ref_table) เพื่อที่นำมาคิดค่าแรงต่อไป

ส่วนอื่นไม่ติดปัญหาครับ ยกเว้นตรง function cost ที่ผมถึกทำแบบไล่เช็คทีละตัว มันเลยหลายบรรทัดครับ
function cost อยู่ใน module2 ครับ

ส่วนตัวผมคิดว่าน่าจะใช้ vlookup แทนได้ครับ แต่มันต้องเลือกจากหลายค่า ผมยังทำไม่เป็นครับ

ส่วนไฟล์ที่ส่งให้ ผมแยก part ส่งนะครับ จะได้ความจุไม่เกิน

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Mon Jul 17, 2017 12:55 pm
by nony
ไฟล์ที่ 4 ขออยู่อันนี้นะครับ โดนจำกัดให้แนบได้แค่ 3 ไฟล์ครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Mon Jul 17, 2017 6:41 pm
by snasui
:D สามารถใช้สูตรเข้ามาช่วยแทนการเขียนสูตรขึ้นมาเองได้ครับ

ตัวอย่างสูตรที่ชีต วันที่ 1 เซลล์ I6 คีย์

=IFERROR(ROUND(INDEX(Ref_Table!$H$2:$H$1000,MATCH($D6,Ref_Table!$E$2:$E$1000,0))*INDEX(Ref_Table!$I$2:$O$1000,MATCH($D6,Ref_Table!$E$2:$E$1000,0),MATCH($F5,Ref_Table!$I$1:$O$1,0)),2),0)

Enter > Copy ไปยังเซลล์ที่เกี่ยวข้อง

ลองตรวจสอบว่าสูตรถูกต้องตรงกับที่ต้องการหรือไม่ หากไม่ถูกต้องช่วยอธิบายมาด้วยว่าคำตอบเป็นค่าเท่าใด มีวิธีการคำนวณอย่างไรจึงได้ค่าเท่านั้น จะได้เข้าใจตรงกันครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Tue Jul 18, 2017 12:18 am
by nony
snasui wrote::D สามารถใช้สูตรเข้ามาช่วยแทนการเขียนสูตรขึ้นมาเองได้ครับ

ตัวอย่างสูตรที่ชีต วันที่ 1 เซลล์ I6 คีย์

=IFERROR(ROUND(INDEX(Ref_Table!$H$2:$H$1000,MATCH($D6,Ref_Table!$E$2:$E$1000,0))*INDEX(Ref_Table!$I$2:$O$1000,MATCH($D6,Ref_Table!$E$2:$E$1000,0),MATCH($F5,Ref_Table!$I$1:$O$1,0)),2),0)

Enter > Copy ไปยังเซลล์ที่เกี่ยวข้อง

ลองตรวจสอบว่าสูตรถูกต้องตรงกับที่ต้องการหรือไม่ หากไม่ถูกต้องช่วยอธิบายมาด้วยว่าคำตอบเป็นค่าเท่าใด มีวิธีการคำนวณอย่างไรจึงได้ค่าเท่านั้น จะได้เข้าใจตรงกันครับ
พอดีวันนี้ผมได้ลองสร้างตารางขึ้นมาใหม่ตารางนึงครับ
แล้วพยายามใช้วิธี Vlookup คำนวณ ซึ่งได้ผลเหมือนกันครับ
โดยดึงข้อมูลจากตารางประมาณนี้ครับ

Code: Select all

i  =FIXED(VLOOKUP(L5,'vlookup sheet2'!$C$2:$D$553,2,FALSE) * VLOOKUP(L5,'vlookup sheet2'!$C$2:$E$553,3,FALSE),2)
แต่ว่ามันจะติดปัญหาอยู่ที่ว่า ถ้าตารางข้อมูลผมมีการเพิ่มข้อมูลเข้ามา
จากเดิมที่ $C$2:$E$553 มันจะต้องเปลี่ยนไป (เช่นเป็น $E$554 , 555, 556 ...) ซึ่งผมจะต้องมานั่งแก้ในช่องที่ผมใส่ vlookup ทั้งหมดแบบนี้คงจะเหนื่อยแย่เลยครับ

ตอนนี้ผมอยากทราบวิธีที่ทำให้ค่า $C$2:$E$553 มันเพิ่มเองตามตารางข้อมูลที่เพิ่มขึ้นได้ไหมครับ โดยที่เราไม่ต้องไปนั่งแก้ไขเอง???

ขออภัยที่ไม่ได้ทำตามวิธีที่อาจารย์แนะนำมานะครับเพราะผมมัวแต่นั่งสร้างตารางใหม่เพื่อทำ vlookup อันนี้มา พึ่งได้เข้ามาเช็คในเว็บเมื่อซักครู่นี้เองครับ

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Tue Jul 18, 2017 6:50 am
by snasui
:D สามารถทำได้หลายวิธีครับ

วิธีหนึ่งคือทำตารางนั้นเป็น Table วิธีการคือ
คลิกลงไปในเซลล์ใด ๆ ของตารางนั้น > เข้าเมนู Insert > Table > อย่าลืมทำเครื่องหมายที่ My table has headers

ตารางนั้นจะเป็น Object ที่ชื่อว่า Table มีความสามารถพิเศษหลายประการ สูตรที่อ้างอิงกับพื้นที่ใน Table นี้จะยืดหยุ่นนเพิ่มลดตามปริมาณข้อมูลใน Table

อีกวิธีคือสร้าง Range Name วิธีการคือ
เข้าเมนู Formulas > Name Manager > New > ระบุชื่อ Table ตรง Name: เช่น Tb > ตรงช่อง Refers to: คีย์สูตร =OFFSET(Sheet2!$C$2,MATCH(CHAR(255),Sheet2!$C:$C)-1,0,,3) > OK > นำ Range Name มาใช้ในสูตร เช่น =VLOOKUP(L5,Tb,2,FALSE)*VLOOKUP(L5,Tb,3,FALSE)

Re: สอบถามเรื่อง วิธีแก้ไขเมื่อ module ขึ้น procedure too large แล้วต้องการเขียน code เพิ่มใน module นั้นๆครับ

Posted: Tue Jul 18, 2017 12:51 pm
by nony
ตอนนี้ได้ใส่ตารางเรียบร้อยแล้วครับ คิดว่าไม่ติดปัญหาอะไรแล้วครับ

ขอบคุณมากครับ ที่ให้ความช่วยเหลือมาตลอด :D :D