snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน Macro และ VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sweetken
Member
Posts: 62 Joined: Fri Jun 24, 2016 10:41 am
#1
Post
by sweetken » Tue Oct 18, 2016 7:54 am
ดิฉันได้ทำตารางข้อมูล เพื่อนำไปเติมในแบบฟอร์มแบบอัตโนมัต มีติดปัญหาดังนี้
1 เมื่อเติมช่อง E15 กับ H 15 ให้ check box มีเครื่องหมายถูกเอง อัตโนมัต
สรุปคือ ถ้าในช่องว่างแถวไหนถูกเติม ให้check box ติ๊กเครื่องหมายถูกเองอัตโนมัติค่ะ
2. เมื่อรันโปรแกรมแล้ว พยายามจัดให้หน้ากระดาษอยู่ใน a4 เพื่อพร้อมปริ้น ไม่ได้ค่ะ
อธิบายการทำงาน
ในไฟล์แนบ
ชีท Print เป็นการก๊อป ชีท Template มาวางต่อๆกัน แล้วนำข้อมูลจาก ชีท List มาเติมตามช่องว่าที่เซ็ตไว้ค่ะ
ขอบพระคุณมากค่ะ
Attachments
Test Job.xlsm
(192.5 KiB) Downloaded 26 times
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#2
Post
by DhitiBank » Tue Oct 18, 2016 11:29 am
ผมขอช่วยตอบแค่ข้อแรกนะครับ เรื่องจัดหน้านี่ไม่ถนัดจริงๆ
ไม่ทราบได้ลองเขียนโค้ดในไฟล์แนบแล้วหรือยังครับ หากเขียนแล้วติดตรงไหน แต่ลองดูแล้วในชีท Print ยังไม่โค้ดที่รันตาม Event หากให้แนะนำแบบที่ผมเคยทำ ก็อาจเลือกเหตุการณ์เป็น Worksheet_Change แล้วก็ใช้คำสั่งเพื่อตรวจว่ามีการคีย์วันที่ในเซลล์ Target ครบแล้วหรือยัง หากครบแล้วก็ให้ติ๊กที่ check box ครับ คำสั่งเกี่ยวกับ check box ที่อยู่บน worksheet ผมใช้ Sheets(...).Shapes("ชื่อ check box").ControlFormat.Value=xlOn กรณีสั่งให้ติ๊กครับ
sweetken
Member
Posts: 62 Joined: Fri Jun 24, 2016 10:41 am
#3
Post
by sweetken » Tue Oct 18, 2016 12:04 pm
อ้อ เข้าใจแล้วค่ะ ขอบคุณนะค่ะ
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Tue Oct 18, 2016 5:29 pm
ช่วยให้รายละเอียดเพิ่มเติมเรื่อง Print ให้พอดี A4 ไม่ทราบว่า Print เป็นรายใบตาม Template หรือ Print อย่างไรครับ
sweetken
Member
Posts: 62 Joined: Fri Jun 24, 2016 10:41 am
#5
Post
by sweetken » Wed Oct 19, 2016 7:35 am
ปริ้นเป็นรายใบตาม Template และเรียงลำดับตามชีท Print ค่ะ
sweetken
Member
Posts: 62 Joined: Fri Jun 24, 2016 10:41 am
#6
Post
by sweetken » Wed Oct 19, 2016 8:48 am
คือสั่งปริ้นในชีท ที่ชื่อ print ค่ะ แล้วเกิดปัญหาว่า พอก๊อปปี้มาวางต่อๆกัน (ที่ชีท print ) แล้ว มันไม่อยู่ในหน้ากระดาษ A4 มันจะเหลื่อมซ้อน กันขึ้นมา ทำให้ปริ้นต่อเนื่องไม่ได้ ต้องมานั่งจัดหน้ากระดาษเองก่อนทุกครั้ง ถึงจะสั่งปริ้นได้ค่ะ
snasui
Site Admin
Posts: 31253 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#7
Post
by snasui » Wed Oct 19, 2016 6:17 pm
หากเพื่อ Print ไม่จำเป็นต้อง Copy มาวางต่อเนื่องกันก่อนแล้วค่อย Print ครับ
เราสามารถ Loop ข้อมูลแต่ละบรรทัดมาลง Form แล้ว Print ทีละ Form โดยจัดหน้ากระดาษของ Form นั้นให้พอดีกับหน้า A4 ตามต้องการ ปัญหาคือหากต้องการจะให้ระบุเลขหน้าสำหรับการพิมพ์จะต้องใช้ Code เข้าไปช่วยกำหนด
ไม่ทราบว่าวิธีการด้านบนสามารถใช้งานได้หรือไม่ หากไม่ได้ ช่วยแจ้งติดข้อจำกัดใด หากไม่ติดข้อจำกัดแล้ว ลองเขียน Code ลักษณะนี้มาดูกันใหม่ ติดตรงไหนค่อยถามกันต่อได้เรื่อ ๆ ครับ
sweetken
Member
Posts: 62 Joined: Fri Jun 24, 2016 10:41 am
#8
Post
by sweetken » Fri Oct 21, 2016 7:52 am
ขอบพระคุณมากค่ะ