Page 1 of 1
ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 2:31 pm
by bank9597

รบกวนสอบถามครับ พอดีว่าเจอปัญหาที่น่าอารมณ์เสียอยู่อย่้างหนึ่งมาโดยตลอด และก็ยังไม่รู้วิธีแก้
ปัญหาที่ว่าคือ ปัญหา Run-time error 13 Type mismatch
ผมเรียกฟอร์มขึ้นแสดงได้ปกติ แต่วันดีคืนดี มันก้เรียกออกมาไม่ได้ ทั้งๆที่ไม่มีอะไรผิดพลาด ผมอยากทราบวิธีแก้ไขปัญหานี้หน่อยครับ เพราะเวลาจะทำงานหากเกิดปัญหานี้ขึ้น คงเป็นฝันร้ายไปเลยครับ

Re: ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 3:12 pm
by snasui

ลองแนบตัวอย่างที่เป็นปัญหามาดูกัน จะได้สะดวกในการทดสอบครับ
Re: ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 4:24 pm
by bank9597

แนบไฟล์ไม่ได้เลยครับ เนื่องจากเป็นไฟล์งานจริงและมีขนาดใหญ่ ผมจึงขออนุญาตเอาภาพให้ดูได้ไหมครับ
พอกดปุ่ม "ทำใบสอบราคา" เพื่อเรียกฟอร์ม ก็จะเออเรอร์ตามรูปที่ 1 แล้วกด Debug ก็จะเป็นรูปที่ 2 ครับ
Re: ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 4:41 pm
by snasui

หากมีเวลาให้ตัดมาเฉพาะที่เป็นปัญหาเท่านั้นครับ ถ้าจะตอบไปก่อนก็แค่ให้ตรวจสอบชื่อ Userform ว่าตรงกันหรือไม่กับ Userform ที่เรียกใช้ มีการเปลี่ยนชื่อให้ต่างไปจากเดิมหรือไม่เป็นต้น เนื่องจากไม่เห็นรายละเอียด

Re: ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 5:01 pm
by bank9597

ผมลองตัดปัญหาออกมาให้ครับ
ปัญหาอยู่ที่ชีท Menu ปุ่ม "ทำใบสอบราคา" โมดูลชื่อ "AllFormShow" ฟอ์รมชื่อ "Quotation" ครับ
Re: ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 5:39 pm
by snasui

จาก Code ด้านล่าง
Code: Select all
Private Sub UserForm_Initialize()
Dim a As Long
Dim ws As Worksheet
Set ws = Workbooks("Database.xlsm").Worksheets("Site")
a = "Site!B2:B10"
ComboBox1.RowSource = a
End Sub
ให้เปลี่ยนจาก
เป็น
Re: ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 6:18 pm
by bank9597

ทำตามที่อาจารย์แนะนำแล้ว แต่ยังไม่ได้ครับ

Re: ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 6:44 pm
by snasui

อย่างไรก็ควรเปลี่ยนครับ เพราะตัวแปร a เป็น String ไม่ใช่ Long และที่ผมทดสอบไม่พบว่ามีปัญหาครับ
สำหรับ Code ที่เขียนนั้นควรแน่ใจเสมอว่าไฟล์ Database.xlsm ถูกเปิดมาพร้อมกันกับไฟล์นี้และมีชีทที่ชื่อ Site อยู่แน่ ๆ ไม่ได้มีการเปลี่ยนชื่อชีทเป็นอย่างอื่น
Re: ปัญหา Run-time error 13 Type mismatch
Posted: Mon Jan 09, 2012 6:54 pm
by bank9597

เรียนอาจารย์ครับท ที่อาจารย์กล่าวมาถูกต้องครับ เนื่องจากผมต้องเปลี่ยนเป็น String และต้องเปิดไฟล์ database ด้วยเสมอ ทัรจึงจะทำงานได้
ขอบคุณอาจารย์มากครับ