:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#1

Post by nony »

ผมเขียน code แล้ว เนื่องจาก code ใน module2 นั้นยาวเกินไป ทำให้เกิด procedure too large แต่ผมต้องการเขียน code ใน module นั้นเพิ่มครับ อยากทราบว่า มีวิธีที่จะทำให้เขียน code ใน module2 นั้นเพิ่มหรือไม่ หรือมีวิธีอื่นครับ

ปล. ผมลองหาดูแล้ว เหมือนว่าจะมีวิธี sub runallcode () แต่ผมยังไม่ค่อยเข้าใจวิธีนี้เท่าไหร่ครับ
ขอบคุณมากครับ
1.jpg
2.jpg
รบกวนช่วยผมทีนะครับ
ขอบคุณมากครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#2

Post by snasui »

:D ควรแนบไฟล์โปรแกรมมาด้วย โดยตัดส่วนที่ไม่เกี่ยวข้องออกไป ทบทวนกฎข้อ 4 ด้านบนอีกครั้ง :roll: เผื่อว่ามีข้อมูลที่ไม่ควรเปิดเผยครับ

เบื้องต้นผมเข้าใจว่า Code มีขนาดเกิน 64kb ควรจะแบ่งให้ไปอยู่ Procedure อื่นแทนการเขียนเพียง Procedure เดียวครับ
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#3

Post 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
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#4

Post by snasui »

:D Code ด้านบนนี้ในเครื่องผมสามารถ Run ได้ ไม่ติดปัญหาใดครับ
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#5

Post by nony »

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

ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#6

Post by snasui »

:lol: ผมได้แจ้งให้แนบไฟล์มาตั้งแต่โพสต์ก่อนหน้าก็ควรจะทำตามนั้น จะได้ช่วยทดสอบได้ครับ
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#7

Post by nony »

แล้วผมจะต้องแนบแบบไหนครับ คือมันใหญ่เกิน แนบไม่ได้เลยครับ
รบกวนด้วยนะครับ มือใหม่มาก
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#8

Post by snasui »

:D ตัดมาเฉพาะที่เกี่ยวข้องครับ

ไฟล์ไม่ควรมีขนาดเกิน 500 KB หรืออีกวิธี Copy Code ใส่ใน Text File แล้วแนบ Text File นั้นมา หากแนบไม่ได้ให้ Zip เสียก่อนครับ
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#9

Post by nony »

ผมเอา code ใส่ text file แล้ว zip มาให้นะครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#10

Post by snasui »

:D ในเครื่องผมยัง Run ได้ปกติครับ

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

Spec เครื่องผม Windows 10, Excel 2016 64bit
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#11

Post by nony »

ถ้าแบบนั้นเป็นที่อะไรอีกได้บ้างครับ เพราะที่เครื่องผมยัง error อยู่เลยครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#12

Post by snasui »

:D การฟ้องลักษณะนั้นแสดงว่า Procedure มีขนาดเกิน 64K ครับ

Code นั้นสามารถปรับให้สั้นเหลือเพียงไม่กี่บรรทัด ลองทำไฟล์ตัวอย่างขึ้นมาเองใหม่ อธิบายรายละเอียดมาให้ชัดเจนว่าต้องการจะแสดงค่าใด ที่เซลล์ใด ชีตใด ด้วยเงื่อนไขใด จะได้ตอบได้ตรงประเด็นครับ
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#13

Post 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 ส่งนะครับ จะได้ความจุไม่เกิน
You do not have the required permissions to view the files attached to this post.
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#14

Post by nony »

ไฟล์ที่ 4 ขออยู่อันนี้นะครับ โดนจำกัดให้แนบได้แค่ 3 ไฟล์ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#15

Post 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 ไปยังเซลล์ที่เกี่ยวข้อง

ลองตรวจสอบว่าสูตรถูกต้องตรงกับที่ต้องการหรือไม่ หากไม่ถูกต้องช่วยอธิบายมาด้วยว่าคำตอบเป็นค่าเท่าใด มีวิธีการคำนวณอย่างไรจึงได้ค่าเท่านั้น จะได้เข้าใจตรงกันครับ
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#16

Post 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 อันนี้มา พึ่งได้เข้ามาเช็คในเว็บเมื่อซักครู่นี้เองครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#17

Post 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)
nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#18

Post by nony »

ตอนนี้ได้ใส่ตารางเรียบร้อยแล้วครับ คิดว่าไม่ติดปัญหาอะไรแล้วครับ

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