snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and 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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
smashclub
Member
Posts: 4 Joined: Thu Aug 05, 2010 3:49 pm
#1
Post
by smashclub » Mon Jan 17, 2011 5:32 pm
สวัสดีครับพี่น้องชาวไทยแอดมินทุกท่าน
คือแบบว่าผมเป็นคนนึงที่สนใจเรื่องการเขียนโปรแกรมแต่ไม่มีประสบการณ์เลยอ่ะ
และที่ต้องการถามเพราะว่างานที่ทำอยู่ครับมันมีปัญหาบ่อยเรื่องการใช้งาน Excel นี่แหละ
ไม่ค่อยจะเก่งเลย จึงอยากได้อะไรมาช่วยผ่อนแรงครับ
คือจะต้อง Export จากอีกโปรแกรมนึงออกมาทำสรุปรายงานประจำเดือนและประจำปี
และมีข้อมูลภายนอกอีกที่ต้องคีย์ลงไปเอง (คือนำข้อมูลทั้ง2อัน มาใช้ร่วมกัน)
แบบว่าถ้าหากคีย์ข้อมูลลงไปเองมันมีโอกาสผิดพลาด (อันที่จริงพอทำเสร็จมาตรวจอีกที
ก็มีผิดอยู่หลายที่ต้องมานั่งแก้ไขอีก เอาเป็นว่าเริ่มเลยก็แล้วกันนะครับ
1. ต้องการหน้าโปรแกรมรับข้อมูลครับ (รู้สึกว่ามันเขียนเป็น Vba ได้อะไรประมาณนี้อ่ะครับ เพื่อนแนะนำมาอีกที)
2. ข้อมูลมีอยู่ 5 ส่วนด้วยกันครับ แต่ละส่วนจะมีหน้ารับข้อมูลแยกกันไป หรือจะเหมือนกันก็ได้ (แล้วแต่คนที่จะ
กรุณาเขียนมาให้)
คร่าวๆก็มีแค่นี้แหละครับ
ส่งไฟล์ที่จะรับข้อมูลมาด้วยครับ รายละเอียดอื่นๆ อยู่ในนั้นครับ
ขอขอบคุณล่วงหน้านะครับสำหรับผู้ที่ต้องการช่วยหรือเข้ามาอ่านและให้คำแนะนำ
ถือว่าช่วยผู้ด้อยความรู้นิดนึง หากได้อธิบายด้วยจะยิ่งดีมากเลยครับ
แบบว่าชอบนั่งอ่านและศึกษาตาม
ขอบคุณครับทุกท่าน
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#2
Post
by snasui » Mon Jan 17, 2011 7:53 pm
ไม่มีคำอธิบายในไฟล์ครับ ปัญหาคืออะไรครับ ต้องการผลลัพธ์ที่ชีทไหน, เซลล์ไหน เงื่อนไขเป็นอย่างไรระบุมาด้วยครับ
smashclub
Member
Posts: 4 Joined: Thu Aug 05, 2010 3:49 pm
#3
Post
by smashclub » Tue Jan 18, 2011 11:50 am
อธิบายไม่ถูกครับ เพราะไม่ค่อยรู้เรื่องเอาเป็นว่าผมส่งข้อมูลมาเพิ่มยังงัยก็ขอความช่วยเหลือด้วยนะครับ
ข้อมูลเก็บเข้าตามแถวและคอลัมน์ที่ระบุเลยครับแบบว่าบันทึกลงไปเรื่อยๆ
ไม่มีการแทนที่ คือ ต่อจากบรรทัดสุดท้ายไปเรื่อยๆ
ขอบคุณมากครับท่าน webmaster
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#4
Post
by snasui » Tue Jan 18, 2011 1:23 pm
ดูแล้วไม่ยากครับ ค่อย ๆ ทำไปก่อนจะได้คุ้นเลย สิ่งที่ต้องทำมาเพิ่มคือ
ออกแบบฟอร์มสำหรับกรอกข้อมูล ตามตัวอย่างที่ส่งมามี 5 Database ก็ออกแบบมา 5 แบบฟอร์มครับ หน้าตาเหมือนกับ Database จะ Copy มาเลยก็ได้ จำนวนบรรทัดในแต่ละฟอร์มที่ทำมาใหม่ก็แล้วแต่กำหนดว่าจะให้บันทึกได้ครั้งละกี่คนครับ จากนั้นส่งตัวอย่างไฟล์มาให้ใหม่ผมจะได้เขียน Code ในการบันทึกข้อมูลต่อท้ายข้อมูลเดิมให้ครับ
smashclub
Member
Posts: 4 Joined: Thu Aug 05, 2010 3:49 pm
#5
Post
by smashclub » Tue Jan 18, 2011 3:54 pm
ขอบคุณครับท่าน Admin
ออกแบบเรียบร้อยแล้วครับ เฮ้อกว่าจะได้
ชื่อlabel ในแต่ละฟอร์มจะตรงกับที่อยู่ใน worksheet เลยนะครับ
คือ ค่าที่บันทึกจะถูกบันทึกลงไปในคอลัมน์นั้นๆเลยแบบต่อกันไปด้านล่างเรื่อยๆ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 31175 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:
#6
Post
by snasui » Wed Jan 19, 2011 11:23 am
ฟอร์มที่ผมพูดถึงหมายถึงเป็นการแทรก Worksheet เข้ามา ซึ่งสามารถทำได้ง่ายและเร็วครับ สำหรับฟอร์มที่ออกแบบมาให้นั้นต้องเขียน Code ในการแสดงข้อมูลในช่อง ListBox ซึ่งในฟอรั่มนี้ก็ได้แสดงตัวอย่าง Code ไว้ให้บ้างแล้ว กรณีมีหลายฟอร์ม จะใช้เวลา Coding ค่อนข้างมาก ลองศึกษาต่อยอดด้วยตนเองดูก่อนครับ ติดปัญหาตรงไหนก็ถามมาได้เรื่อย ๆ
สำหรับที่ผมจะแนะนำคือทำฟอร์มขึ้นมาในเซลล์เลย สามารถ Link จากหน้า Main เข้ามา เมื่อบันทึกเสร็จก็วิ่งกลับไปยังหน้า Main ข้อมูลจะวิ่งลงไปยังตารางต่าง ๆ ตามแต่ละประเภท ตัวอย่าง Code ตามด้านล่างครับ
Code: Select all
Sub NewEmpRec()
Dim rs As Range
Dim rt As Range
Set rt = Worksheets("à¢éÒãËÁè").Range("A65536").End(xlUp).Offset(1, 0)
Set rs = Worksheets("Form_à¢éÒãËÁè").Range("A8:J8")
rs.Copy
rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
MsgBox "Paste Finish"
Worksheets("Menu").Select
End Sub
ดูไฟล์แนบประกอบซึ่งทำมาเป็นตัวอย่างเฉพาะชีท
เข้าใหม่ ครับ
You do not have the required permissions to view the files attached to this post.
smashclub
Member
Posts: 4 Joined: Thu Aug 05, 2010 3:49 pm
#7
Post
by smashclub » Mon Jan 24, 2011 4:00 pm
ขอบคุณครับ เดี๋ยวจะลองนำไปศึกษาดูครับ
หากมีข้อสงสัยตรงใหนเดี๋ยวจะกลับมาสอบถามอีกครับ
ขอให้ท่าน Admin ร่ำรวยๆๆ มีความสุขตลอดไป
เหมือนกับที่ท่านมอบความรู้ให้พวกเรา