Page 1 of 3
การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 11:43 am
by มัคกี้เม้า
1.ต้องการเมื่อมีการกรอกข้อมูลในหน้าที่ชื่อว่า Input
2.ข้อมูลเมื่อกรอกลงไปนั้น จะต้องไปบันทึกไว้ที่ชีท database เมื่อมีการกด ok
3. เมื่อมีรายการรายการที่ต้องการเพิ่มในวันเดียวกัน หลังจากกด ok แล้ว ต้องมีการกดที่ปุ่ม add item name เพื่อกรอกรายการต่อไป
4. กรณีที่ต้องการยกเลิกรายการนั้น ให้กดปุ่ม Remove item name ข้อมูลก็จะหายไปใน ชีท database
4.โดยข้อมูลที่กรอกเข้าไปนั้นจะต้องไม่ทับกับอันเก่าที่เราได้กรอกเข้าไปที่หน้า database
6.เมื่อเสร็จรายการแล้ว ให้กดปุ่ม exit เพื่อออกจากระบบ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 11:53 am
by snasui
กรณีใช้ VBA จำเป็นต้องเขียนมาเอง ติดตรงไหนค่อยมาถามกันครับ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 1:18 pm
by มัคกี้เม้า
ขอโทษคะไม่มีความรู้ด้านนี้จริงๆ จึงอยากให้อาจารย์ช่วยคะ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 1:32 pm
by snasui
กรณีเขียนเองไม่ได้และจำเป็นต้องใช้ ควรให้ผู้ที่เขียนได้เขียนมาก่อน ติดตรงไหนค่อยมาถามกันครับ สำหรับการใช้ VBA จำเป็นที่จะต้องเขียนได้บ้างและเขียนมาเองก่อนเสมอ ฟอรัมนี้จะเน้นเฉพาะการแก้ปัญหาเป็นหลักและเป็นเช่นนี้เสมอภาคกันทุกคนครับ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 1:47 pm
by bank9597
ลองหัดบันทึกมาโครดูก่อนน่ะครับ ว่าการกระทำของเรานั้น ถูกเขียนออกมาเป็นโค๊ดอย่างไร
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 2:11 pm
by Phrut.witt
1.กดปุ่มวินโดว์ แล้วเลือกตัวเลือกExcel เอาตัวคำสั่ง "นักพัฒนา"ขึ้นมาก่อน
2.พอได้แล้ว กดปุ่มบันทึกแมโครได้เลยครับ โดย Excelจะบันทึกทุกการกระทำทุกอย่างของเราเป็นโค้ดVB
3.บันทึกเสร็จกดหยุด และเลือกให้โค้ดนั้น run บนวัตถุ โดยการแทรก ปุ่มขึ้นมา
คร่าวๆนะครับ ลองดูนะเป็นวิธีง่ายๆของผู้เริ่มต้น ผมก็ใช้วิธีนี้เหมือนกัน (ระวังเวลากดบันทึกแล้ว ถ้าเรากดการกระทำของเราผิด จะต้องเริ่มใหม่หมดนะ!!!)
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 2:20 pm
by bank9597
1.กดปุ่มวินโดว์ แล้วเลือกตัวเลือกExcel เอาตัวคำสั่ง "นักพัฒนา"ขึ้นมาก่อน
2.พอได้แล้ว กดปุ่มบันทึกแมโครได้เลยครับ โดย Excelจะบันทึกทุกการกระทำทุกอย่างของเราเป็นโค้ดVB
3.บันทึกเสร็จกดหยุด และเลือกให้โค้ดนั้น run บนวัตถุ โดยการแทรก ปุ่มขึ้นมา
คร่าวๆนะครับ ลองดูนะเป็นวิธีง่ายๆของผู้เริ่มต้น ผมก็ใช้วิธีนี้เหมือนกัน (ระวังเวลากดบันทึกแล้ว ถ้าเรากดการกระทำของเราผิด จะต้องเริ่มใหม่หมดนะ!!!)
ขอบคุณสำหรับความช่วยเหลือครับ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 2:55 pm
by มัคกี้เม้า
งง..และไม่มีความรู้ด้านนี้จริงๆคะ ไม่รู้ว่าจะไปถามใครได้
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 3:44 pm
by bank9597
งง..และไม่มีความรู้ด้านนี้จริงๆคะ ไม่รู้ว่าจะไปถามใครได้
ลองพยายามดูก่อนครับ ทำได้อยู่แล้วครับ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Thu May 10, 2012 4:41 pm
by Phrut.witt
ไปโหลด PDF นี้ศึกษาดูนะครับ มันไม่ยากอย่างที่คิดนะครับ
http://classweb.bus.tu.ac.th/doc/Datash ... /Macro.pdf
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Fri May 11, 2012 3:37 pm
by มัคกี้เม้า
โหลดมาอ่านก็ไม่รู้จะเริ่มจากไหน เลือกคำว่า ตรงคำว่า OK assign macro จะขึ้นคำว่า sub click button12() ก็ไม่รู้อีกว่าต้องพิมพ์อะไรลงไปคะ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Fri May 11, 2012 3:58 pm
by bank9597
ก็ต้องบันทึกแมโครดูครับ
ตอนนี้ในโปรแกรมเอ้กเซลล์ของคุณ มีแท็บ Developer หรือยังครับ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Sat May 12, 2012 7:02 am
by snasui
มัคกี้เม้า wrote:งง..และไม่มีความรู้ด้านนี้จริงๆคะ ไม่รู้ว่าจะไปถามใครได้
แนะนำว่าให้ซื้อหนังสือมาอ่านและทดลองทำตามหนังสือก่อน หากมีข้อสงสัยสามารถถามที่นี่ได้ การแนะนำให้เขียน VBA โดยเริ่มจากศูนย์ไปจนเข้าใจ Code ปรับปรุงได้ แก้ไขเป็น นับว่าเป็นเรื่องยาก ต้องศึกษาและฝึกฝนมาเป็นลำดับก่อนครับ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Mon May 14, 2012 10:13 am
by Phrut.witt
PDF มันชัดเจนอยู่เเล้วนะครับ อ่านแล้วทำตาม step by step ครับ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Mon May 14, 2012 2:37 pm
by มัคกี้เม้า
ก็ต้องบันทึกแมโครดูครับ
ตอนนี้ในโปรแกรมเอ้กเซลล์ของคุณ มีแท็บ Developer หรือยังครับ
ตั้งชื่อ assing macro ว่า OK...แล้วปรากฎ veiw code ขึ้นมาคะ ทำอย่างไร
ข้อมูลเมื่อกรอกลงไปนั้น จะต้องไปบันทึกไว้ที่ชีท database เมื่อมีการกด ok
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Mon May 14, 2012 3:49 pm
by bank9597
สร้างชีทใหม่ชื่อ Temp ขึ้นมา เพื่อจัดข้อมูลให้อยู่ในรูปแบบที่พร้อมนำไปบันทึก
จากนั้นลองปรับโค๊ดตามนี้ครับ
Code: Select all
Sub OK()
If Sheets("Input").Range("H8") <> "" And Sheets("Input").Range("G10") <> "" Then
Sheets("Temp").Range("A2:G2").Copy
Sheets("Database").Range("A" & Rows.Count) _
.End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Input").Range("H8,G10") _
.SpecialCells(xlCellTypeConstants).ClearContents
MsgBox ("บันทึกข้อมูลเรียบร้อย")
Else
MsgBox ("ท่านทำรายการไม่ครบ")
End If
End Sub
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Tue May 15, 2012 3:10 pm
by มัคกี้เม้า
เลือก code ไปทั้งหมดแล้วคะ แต่ว่าข้อมูลไม่ไปบันทึกที่ชีท database เลยคะ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Tue May 15, 2012 3:16 pm
by bank9597
ดูในไฟล์ตัวอย่างหรือยังครับ หากดูเข้าใจแล้ว เราก็ปรับจากไฟล์ตัวอย่างมาใช้งานครับ
กรณีเอาแต่โค๊ดไปใช้อย่างเดียวนั้น ไม่สามารถทำงานได้ครับ เพราะงานตัวจริงกับงานตัวอย่างนั้น มีรูปแบบไม่เหมือนกัน
อีกทั้งต้องอ่านโค๊ดด้วยว่า ทำอะไร ที่ไหน อย่างไร แล้วปรับโค๊ดให้ตรงกับงานของเราจริงๆ โค๊ดถึงจะใช้งานได้ครับ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Wed May 16, 2012 8:47 am
by มัคกี้เม้า
เมื่อวามทำดูแล้วคะ...
กรณีที่ต้องการยกเลิกรายการนั้น ให้กดปุ่ม Remove item name ข้อมูลก็จะหายไปใน ชีท database
ปรับยังไงก็ไม่ได้คะ
Re: การบันทึกข้อมุลเพื่อจัดทำ stock
Posted: Wed May 16, 2012 9:42 am
by bank9597
โค๊ดคงทำตามที่คุณสั่งไม่ได้ครับ เนื่องจากคุณสั่งให้ไปลบข้อมูลใน Database เอง
ผมปรับโค๊ดมาให้ใหม่ พร้อมแก้สูตรให้บางส่วนดังนี้
ในชีท Temp ไม่ต้องไปทำอะไรกับชีทนี้ เพราะมันเป็นที่จัดเรียงข้อมูลเพื่อนำไปบันทึกใน Database
ในชีท Input เซลล์ J10 คีย์ =IF(H8="","",VLOOKUP($H$8,Sheet4!$A$1:$C$12801,3,FALSE)) สูตรนี้กำหนดให้แสดงค่าว่างเมื่อยังไม่มีการทำรายการใดๆ ในเซลล์อื่นๆก็ปรับเหมือนกัน
ที่ปุ่ม Remove Item_Name ปรับโค๊ดเป็น
Code: Select all
Sub RemoveItemName()
On Error Resume Next
Worksheets("Input").Range("H8:L8,G10:H10").ClearContents
MsgBox "¡àÅÔ¡ÊÑ觫×éÍÊÔ¹¤éÒ"
End Sub