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

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

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

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

#1

Postby nony » Sun Jul 16, 2017 10:47 am

ผมเขียน 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: 22224
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#2

Postby snasui » Sun Jul 16, 2017 11:02 am

: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

Postby nony » Sun Jul 16, 2017 11:11 am

คือ 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


nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#5

Postby nony » Sun Jul 16, 2017 2:23 pm

snasui wrote::D Code ด้านบนนี้ในเครื่องผมสามารถ Run ได้ ไม่ติดปัญหาใดครับ

คือผมต้องตัด code บางส่วนออกครับ เพราะเขาไม่ให้วาง code เกิน 60k ตัวอักษรครับ เลย run ได้
จริงๆแล้วมันจะต้องติด procedure too large ครับ

ขอบคุณครับ

User avatar
snasui
Site Admin
Site Admin
Posts: 22224
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#6

Postby snasui » Sun Jul 16, 2017 2:52 pm

:lol: ผมได้แจ้งให้แนบไฟล์มาตั้งแต่โพสต์ก่อนหน้าก็ควรจะทำตามนั้น จะได้ช่วยทดสอบได้ครับ

nony
Member
Member
Posts: 10
Joined: Fri Jul 14, 2017 10:52 am

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

#7

Postby nony » Sun Jul 16, 2017 5:05 pm

แล้วผมจะต้องแนบแบบไหนครับ คือมันใหญ่เกิน แนบไม่ได้เลยครับ
รบกวนด้วยนะครับ มือใหม่มาก

User avatar
snasui
Site Admin
Site Admin
Posts: 22224
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#8

Postby snasui » Sun Jul 16, 2017 5:25 pm

: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

Postby nony » Sun Jul 16, 2017 5:46 pm

ผมเอา 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: 22224
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#10

Postby snasui » Sun Jul 16, 2017 6:10 pm

: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

Postby nony » Sun Jul 16, 2017 8:21 pm

ถ้าแบบนั้นเป็นที่อะไรอีกได้บ้างครับ เพราะที่เครื่องผมยัง error อยู่เลยครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 22224
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#12

Postby snasui » Sun Jul 16, 2017 8:39 pm

: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

Postby nony » Mon Jul 17, 2017 12:54 pm

ผมทำไฟล์คิดค่าแรงของแผนกแพคกิ้งในบริษัทครับ
ซึ่งค่าแรงมาจาก จำนวนก้อนที่พนักงานแพ็คได้ 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

Postby nony » Mon Jul 17, 2017 12:55 pm

ไฟล์ที่ 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: 22224
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#15

Postby snasui » Mon Jul 17, 2017 6:41 pm

: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

Postby nony » Tue Jul 18, 2017 12:18 am

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: 22224
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

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

#17

Postby snasui » Tue Jul 18, 2017 6:50 am

: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

Postby nony » Tue Jul 18, 2017 12:51 pm

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

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


Return to “Excel”

Who is online

Users browsing this forum: Google Feedfetcher and 36 guests