Page 1 of 1

ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 2:31 pm
by bank9597
:D รบกวนสอบถามครับ พอดีว่าเจอปัญหาที่น่าอารมณ์เสียอยู่อย่้างหนึ่งมาโดยตลอด และก็ยังไม่รู้วิธีแก้

ปัญหาที่ว่าคือ ปัญหา Run-time error 13 Type mismatch

ผมเรียกฟอร์มขึ้นแสดงได้ปกติ แต่วันดีคืนดี มันก้เรียกออกมาไม่ได้ ทั้งๆที่ไม่มีอะไรผิดพลาด ผมอยากทราบวิธีแก้ไขปัญหานี้หน่อยครับ เพราะเวลาจะทำงานหากเกิดปัญหานี้ขึ้น คงเป็นฝันร้ายไปเลยครับ :D

Re: ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 3:12 pm
by snasui
:D ลองแนบตัวอย่างที่เป็นปัญหามาดูกัน จะได้สะดวกในการทดสอบครับ

Re: ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 4:24 pm
by bank9597
:shock: แนบไฟล์ไม่ได้เลยครับ เนื่องจากเป็นไฟล์งานจริงและมีขนาดใหญ่ ผมจึงขออนุญาตเอาภาพให้ดูได้ไหมครับ

พอกดปุ่ม "ทำใบสอบราคา" เพื่อเรียกฟอร์ม ก็จะเออเรอร์ตามรูปที่ 1 แล้วกด Debug ก็จะเป็นรูปที่ 2 ครับ

Re: ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 4:41 pm
by snasui
:lol: หากมีเวลาให้ตัดมาเฉพาะที่เป็นปัญหาเท่านั้นครับ ถ้าจะตอบไปก่อนก็แค่ให้ตรวจสอบชื่อ Userform ว่าตรงกันหรือไม่กับ Userform ที่เรียกใช้ มีการเปลี่ยนชื่อให้ต่างไปจากเดิมหรือไม่เป็นต้น เนื่องจากไม่เห็นรายละเอียด :mrgreen:

Re: ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 5:01 pm
by bank9597
:D ผมลองตัดปัญหาออกมาให้ครับ

ปัญหาอยู่ที่ชีท Menu ปุ่ม "ทำใบสอบราคา" โมดูลชื่อ "AllFormShow" ฟอ์รมชื่อ "Quotation" ครับ

Re: ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 5:39 pm
by snasui
:D จาก 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
ให้เปลี่ยนจาก

Code: Select all

Dim a As Long
เป็น

Code: Select all

Dim a As String

Re: ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 6:18 pm
by bank9597
:D ทำตามที่อาจารย์แนะนำแล้ว แต่ยังไม่ได้ครับ :D

Re: ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 6:44 pm
by snasui
:D อย่างไรก็ควรเปลี่ยนครับ เพราะตัวแปร a เป็น String ไม่ใช่ Long และที่ผมทดสอบไม่พบว่ามีปัญหาครับ

สำหรับ Code ที่เขียนนั้นควรแน่ใจเสมอว่าไฟล์ Database.xlsm ถูกเปิดมาพร้อมกันกับไฟล์นี้และมีชีทที่ชื่อ Site อยู่แน่ ๆ ไม่ได้มีการเปลี่ยนชื่อชีทเป็นอย่างอื่น

Re: ปัญหา Run-time error 13 Type mismatch

Posted: Mon Jan 09, 2012 6:54 pm
by bank9597
:D เรียนอาจารย์ครับท ที่อาจารย์กล่าวมาถูกต้องครับ เนื่องจากผมต้องเปลี่ยนเป็น String และต้องเปิดไฟล์ database ด้วยเสมอ ทัรจึงจะทำงานได้

ขอบคุณอาจารย์มากครับ