Page 1 of 1
ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Thu Nov 06, 2014 5:49 pm
by kikfna
เรียนผู้รู้ทุกท่านครับ
ผมไม่มีพื้นฐาน VBA มาก่อนแค่ผมจะหาสูตรทำสต๊อกสินค้าผมมาเจอหน้าเพจนี้พอดี แล้วผมลองเข้ามาอ่านรู้สึกสนุกผมลองคัดลอกไฟล์งานของเพื่อนสมาชิกไปดัดแปลงผ่านมาสองสัปดาห์ค่อยๆมีพัฒนาการถือว่าพอเข้าใจบ้างครับ แต่สิ่งที่ผมพยายามแต่ทำไม่ได้คือ อยากให้ปุ่ม บันทึกจ่าย กับบันทึกรับและปุ่มยกเลิก เวลากดบันทึกข้อมูลเสร็จแล้วอยากให้เคลียร์ช่องข้อมูลดังกล่าวให้ว่าง ไม่ทราบว่าจะพอมีทางไหมครับ ผมพยาามมาหลายสูตรแล้วแต่คงทำไม่ถูกผมเลยลบแล้วเอาสูตรเดิมๆของเพื่อนสมาชิกมาให้ทุกท่านดูก่อนครับแล้วอยากให้ช่วยแนะนำสูตรให้ด้วยครับ
ขอบคุณครับ
Stockmaster.xlsm
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Thu Nov 06, 2014 11:35 pm
by bank9597
kikfna wrote:เรียนผู้รู้ทุกท่านครับ
ผมไม่มีพื้นฐาน VBA มาก่อนแค่ผมจะหาสูตรทำสต๊อกสินค้าผมมาเจอหน้าเพจนี้พอดี แล้วผมลองเข้ามาอ่านรู้สึกสนุกผมลองคัดลอกไฟล์งานของเพื่อนสมาชิกไปดัดแปลงผ่านมาสองสัปดาห์ค่อยๆมีพัฒนาการถือว่าพอเข้าใจบ้างครับ แต่สิ่งที่ผมพยายามแต่ทำไม่ได้คือ อยากให้ปุ่ม บันทึกจ่าย กับบันทึกรับและปุ่มยกเลิก เวลากดบันทึกข้อมูลเสร็จแล้วอยากให้เคลียร์ช่องข้อมูลดังกล่าวให้ว่าง ไม่ทราบว่าจะพอมีทางไหมครับ ผมพยาามมาหลายสูตรแล้วแต่คงทำไม่ถูกผมเลยลบแล้วเอาสูตรเดิมๆของเพื่อนสมาชิกมาให้ทุกท่านดูก่อนครับแล้วอยากให้ช่วยแนะนำสูตรให้ด้วยครับ
ขอบคุณครับ
Stockmaster.xlsm

ปรับโค๊ดตามนี้ครับ
Code: Select all
Sub AddData()
Dim rs As Range
Dim rt As Range
Dim r As Worksheet
Set rs = Worksheets("Template").Range("A3:J3")
Set rt = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
If Worksheets("Input01").Range("F14").Value = 0 Then
MsgBox "ãÊè¨Ó¹Ç¹ÃѺà¢éÒ"
Exit Sub
End If
If Worksheets("Input01").Range("P16").Text = "" Then
MsgBox "Ãкت×èͼÙéºÑ¹·Ö¡ÃÒ¡ÒôéÇÂ"
Exit Sub
End If
Set r = Worksheets("Input01")
rs.Copy
rt.PasteSpecial xlPasteValues
Application.CutCopyMode = False
MsgBox "ºÑ¹·Ö¡àÃÕºÃéÍÂáÅéÇ"
r.Range("F11,F14,G3,G7,L11,L14,P16:Q16").ClearContents
MsgBox "·ÓÃÒ¡ÒõèÍä»"
Set r = Nothing
Set rs = Nothing
Set rt = Nothing
End Sub
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Thu Nov 06, 2014 11:41 pm
by kikfna
ขอบพระคุณมากๆครับสำหรับคำตอบเดี๋ยวพรุ่งนี้จะมารายงานผลนะครับ
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Thu Nov 06, 2014 11:44 pm
by kikfna
ผมขอถามอีกเรื่องครับ Dim r As มีความหมายว่าอะไรครับทำมาสองสัปดาห์แล้วยังหาหัวข้ออ่านไม่เจอเลยครับ
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Fri Nov 07, 2014 12:20 am
by bank9597
kikfna wrote:ผมขอถามอีกเรื่องครับ Dim r As มีความหมายว่าอะไรครับทำมาสองสัปดาห์แล้วยังหาหัวข้ออ่านไม่เจอเลยครับ

dim r เป็นการเซ็ตค่า r ให้เป็นสิ่งต่างๆด้วย As รวมๆคือ เป็นการประกาศตัวแปร แทนค่าสิ่งต่างๆ เช่น r เป็นตัวเลข เป็นตัวหนังสือ เป็นชีท ก็แล้วแต่ว่าจะกำหนดให้เป็นอะไร
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Fri Nov 07, 2014 10:23 am
by kikfna
ขอบคุณอาจารย์ bank9597 มากๆครับตอนนี้ได้สูตรที่ได้อย่างที่ต้องการมากๆเลยครับ แล้วถ้าผมจะถามต่อในเรื่องการเรียกดูข้อมูลผมสามารถถามต่อในนี้ได้เลยหรือต้องตั้งกระทู้ใหม่ครับ
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Fri Nov 07, 2014 1:07 pm
by snasui

หากการเรียกดูข้อมูลเป็นคำถามต่อเนื่องจากเรื่องเดิมก็ควรถามต่อในกระทู้นี้ แต่หากเป็นคนละเรื่องควรเปิดกระทู้ใหม่
สำหรับ Dim หรือ เป็นการประกาศตัวแปร
http://msdn.microsoft.com/en-us/library ... e.15).aspx
ตัวแปรคือ Data Type หรือรูปแบบของข้อมูล ศึกษาจาก Link นี้ครับ
http://msdn.microsoft.com/en-us/library ... e.15).aspx
ที่ต้องประกาศเพือเป็นการจัดสรร Memory ให้ใช้งานอย่างเหมาะสมครับ
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Fri Nov 07, 2014 1:09 pm
by kikfna
ขอบคุณครับ อาจารย์snasui
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Sat Nov 08, 2014 1:35 am
by kikfna
ขอรบกวนถามต่อในเรื่องเดิมครับอาจารย์ ผมนำสูตรที่อาจารให้มาไปลองใส่ในปุ่มยกเลิกครับ
ผลปรากฎว่า debug ครับ ผมต้องเปลี่ยนจาก r= worksheet(input01) เป็น Rang หรือเปล่าครับ
Re: ปุ่มตัดจ่ายกับปุ่มรับเข้าบันทึกข้อมูลไม่เคลียร์ข้อมูล
Posted: Sat Nov 08, 2014 6:28 am
by snasui

แนบไฟล์นั้นมาดูกันครับ
กรณีชื่อชีทไม่ได้เป็นตัวแปร ต้องเขียนชื่อชีทไว้ในเครื่องหมายคำพูด จาก
kikfna wrote: r= worksheet(input01)
ควรเป็น
r= worksheet("input01")