Page 1 of 1

Macro สร้าง Form

Posted: Tue Aug 14, 2012 4:32 pm
by kanittha
ต้องการสร้าง Macro กำหนด form สำหรับกรอกข้อมูลค่ะ แต่ทำทีไรพอเรียกใช้ Macro ก็แจ้งว่า error 1004 มีเขตข้อมูลมากเกินไปในฟอร์มข้อมูล ทั้งที่ตอนทำ form โดยไม่ใช้ Macro (เขตข้อมูลเท่ากัน) สามารถทำได้ มีคำแนะนำอะไรบ้างคะ ขอบคุณค่ะ

Re: Macro สร้าง Form

Posted: Tue Aug 14, 2012 4:41 pm
by snasui
:D ช่วยแนบไฟล์ที่ได้เขียน Code มาแล้วด้วยครับ ระบุด้วยว่าอยู่ใน Module ใด ชื่อ Procedure ว่าอะไร จะได้เข้าถึงปัญหาโดยไวครับ

Re: Macro สร้าง Form

Posted: Tue Aug 14, 2012 4:55 pm
by kanittha
พอดีไม่ค่อยเป็นเรื่อง VBA ค่ะ ใช้วิธี Record Macro เอา

Re: Macro สร้าง Form

Posted: Wed Aug 15, 2012 8:22 am
by kanittha
Sub Macro1()
'
' Macro1 áÁâ¤Ã
'

'
Sheets("Sheet2").Select
Columns("A:Q").Select
ActiveSheet.ShowDataForm
End Sub

พยายามแนบรูปแล้วไม่ไปค่ะ อันนี้เป็นตัวอย่าง Macro ที่ลองทำสั้นๆ ค่ะแต่ก็เจอ error เหมือนเดิมทั้งที่ตอนสร้าง macro เรียก form ก็ run ได้ปกติ ขอบคุณค่ะ

Re: Macro สร้าง Form

Posted: Wed Aug 15, 2012 8:26 am
by snasui
:D ช่วยแนบไฟล์ตัวอย่างมาครับ ไฟล์ตัวอย่างควรจะเป็นไฟล์เล็ก ๆ จะได้ช่วยทดสอบได้ว่าผิดพลาดตรงไหนและควรแก้ไขอย่างไร

Re: Macro สร้าง Form

Posted: Wed Aug 15, 2012 8:34 am
by kanittha
ส่ง file ตัวอย่างมาค่ะ ขอบคุณค่ะ

Re: Macro สร้าง Form

Posted: Wed Aug 15, 2012 8:50 am
by snasui
:D Data Form ใน Excel สามารถรองรับได้แค่ 32 Field เท่านั้นครับ จากตัวอย่างที่แนบมาพบว่ามีถึง 59 Field ซึ่งเกินจาก Limit ของ Excel จึงไม่สามารถเรียกใช้ Data Form ได้ครับ ลองลบข้อมูลตั้งแต่คอลัมน์ R เป็นต้นไปแล้ว Run Code ด้านล่างดูครับ

Code: Select all

Sub Macro1()
    Sheets("Sheet2").Select
    Range("A1:Q1").Select
    ActiveSheet.ShowDataForm
    Range("A1").Select
End Sub

Re: Macro สร้าง Form

Posted: Wed Aug 15, 2012 8:57 am
by kanittha
แต่ตอนเรียกใช้ form โดยไม่ใช้ macro ทำแบบเดียวกัน สามารถเรียก form เฉพาะ column ที่เราเลือกมาใช้ได้ค่ะ เลยไม่แน่ใจว่าเกี่ยวกับ macro หรือเปล่า แต่ถ้าจำเป็นก็คงต้องแยก sheet

Re: Macro สร้าง Form

Posted: Wed Aug 15, 2012 9:09 am
by kanittha
ลองลบแล้ว run ใหม่แล้วพบว่าได้ค่ะ ขอบคุณมากค่ะคุณคนควน :D