Page 1 of 2
รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 11:55 am
by Phrut.witt
พี่ๆครับ ผมเป็นนักศึกษากำลังฝึกงานอยู่!! ตอนนี้ผมได้รับงานทำแบบตรวจตลาดอยู่ครับมีรายละเอียดดังนี้ครับ (คือต้องทำกับ Excel อย่างเดียวด้วยอ่ะครับ ต้องใช้งานในเครื่องออฟฟิต)
1 ผมสร้าง Sheet Input data ขึ้นมาอันนึงไว้กรอกข้อมูล ผมสร้างปุ่ม Clear เป็นแมโครไว้เคลียร์ข้อมูลที่กรอกไว้ กับปุ่ม save เพื่อเซฟข้อมูลไปวางใน Sheet database
2 ผมสร้าง Sheet ถัดมาเป็น All data ไว้แสดงค่าที่กรอกใน Sheet Input data
3 ผมสร้าง Sheet ถัดมาเป็น Database ผมสร้างหัวข้อแล้วกดสร้าง table แล้วกดเลือกให้มีส่วนหัวของตารางไว้ด้วย คือตอนเเรกเข้าใจว่าข้อมูลมันจะเลื่อนลงล่างทบไปเรื่อยๆ
*แต่ข้อมูลผมมี 400 ชุดครับแล้วเราจะตั้งค่าหรือมีวิธีทำยังไง เพื่อจะเก็บข้อมูลลงใน Database ถ้าพอกดปุ่มเซฟให้มันมาวางข้อมูลทบๆไปเรื่อยๆอ่ะครับ*
4 ผมสร้าง Sheet สุดท้ายเป็น Summary ไว้สรุปผล ผลรวม หาค่าเฉลี่ยของแต่ละตัว ของแต่ละกลุ่มไว้ครับ
ตอนนี้ก็มีปัญหาตรงที่การกดsaveข้อมูลให้มันลงไปทบๆกันเป็นชุดๆทั้ง400ชุดในหน้า Database ครับ ขอความช่วยเหลือด้วยครับบบบ ^O^
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 12:04 pm
by bank9597

ทำได้ถูกทางแล้วครับ
ลองแนบมาไฟล์มาดูครับ แล้วจะช่วยดูให้อีกแรง
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 1:15 pm
by Phrut.witt
ขอบคุณครับพี่ แนบไฟล์มาให้แล้วครับ ขอความช่วยเหลือด้วยครับ ซื้อหนังสือมาอ่านแล้วมันก้ยังงงๆครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 1:41 pm
by bank9597

ค่อยๆถามไปครับ
อธิบายปัญหาแรกที่ต้องการแก้มาดูครับ ว่าติดตรงไหน เพราะว่าถ้าไม่บอกให้ทราบ ผมคงไม่สามารถรู้ได้ว่าตอนนี้ติดปัญหาใดอยู่ครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 1:54 pm
by Phrut.witt
1 ติดตรงเรื่อง แมโครที่ปุ่ม save ครับพี่ ผมใช้วิธีการบันทึกแมโครทำครับ คือเลือกช่วงใน All data แล้วก๊อบไปวางใน Database แต่มันจะเป็นมาวางแค่ชุดเดียว
แล้วพอมากดบันทึกซ้ำอีกรอบมันจะไปวางทับของเดิมครับ คืออยากให้มันวางต่อๆกันไปเป็นชุดๆครับพี่ เพื่อพอจะเอาไปคำนวณในหน้า Summary จะได้มาเลือกเป็นคอลัมม์ได้งง่าย
คือผมคิดไว้แบบนี้ หรือพี่มีวิธีที่ดีกว่ารึเปล่าครับ
2 แล้วเราจะมีวิธีการไหนที่ทำให้เราสามารถกรอกข้อมูลพร้อมๆกันหลายคนไหมครับพี่? อ่านในหนังสือเห็นมีการประกาศใน Excel services ครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 2:40 pm
by bank9597

จริงๆแล้ว แก้เรื่องโค๊ดให้บันทึกต่อกันนั้น ไม่ได้ยากเท่าไร แต่ที่ยากคือ การออกแบบฐานข้อมูลให้ยืดหยุ่นครับ

ใน ชีท Input มีการสร้้างฟอร์มได้สับสนมากครับ ควรสร้างฟอร์มสำหรับกรอกข้อมูลไว้อย่างชัดเจน
มีตารางสินค้า ที่ระบุรหัสสินค้า ชื่อสินค้า ไว้พร้อม
มีตารางสาขา ที่ระบุชื่อแตละสาขา พร้อมรหัส
เหล่านี้เป็นต้น
ลองปรับในส่วนชีท Input ใหม่ได้ไหมครับ ลดความสับสนลงมาอีก เพราะผมเข้าไปดูแล้ว ยังไม่แน่ใจ
รวมทั้งข้อมูลในชีท Database ก็มีการบันทึกไม่ต่อเนื่องกัน ซึ่งโดยหลักการแล้วควรต่อเนื่องกัน ไม่ควรเว้นหรือข้ามบรรทัด
ชีท all data ให้เปลี่ยนชื่อเป็น Temp จะดีกว่าครับ ช่วยจำว่าเป็นส่วนที่เราจัดระเบียบข้อมูลก่อนบันทึกลง Database
เดี๋ยวผมจะลองปรับรูปแบบดูครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 3:51 pm
by Phrut.witt
1 ในหน้าของ Input,Temp,database ที่มีส่วนที่เว้นว่างไว้นั้นคือผมคิดว่าจะได้ให้พี่ที่ออฟฟิตใช้ได้ต่อ ตอนผมฝึกงานเสร็จไปแล้วน่ะครับ เขาจะได้เพิ่มหรือตัดสินค้าออกได้เลยโดยไม่ไปยุ่งกับสูตรครับพี่! เราใช้การซ่อนได้รึเปล่าครับหรือควรเอาออกไปเลย ?
2 ในหน้า Input มันควรปรับไปในแนวทางไหนครับพี่ ผมก็ว่าผมแยกส่วนสินค้าที่มีชื่อสินค้า รหัส และราคาไว้แล้ว พร้อมกับส่วนที่จะทำการลงข้อมูลไว้ในช่อง Facing,Onshelf,location,POP,TOP แล้วนิครับ ส่วนที่เป็นผู้กรอก,ชื่อสาขา,รหัสสาขา,วันที่ อีกส่วนหนึ่งแล้วนิครับ
3 ขอ Code ที่เขียนให้กดเซฟข้อมูลมาวางในหน้า Database ต่อๆกันได้ไหมครับพี่
4 แล้วในหน้า Summary ควรใช้สูตรพวก Dcount, Daverage ที่เป็นสูตรโดยตรงของฐานข้อมูลรึเปล่าครับ?
( คือผมก็มือใหม่หัดทำ หัดใช้ตามหนังสือน่ะครับ - -" )
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 3:54 pm
by Phrut.witt
5 ที่พี่บอกว่าเราควรสร้างฟอร์มที่ไว้กรอกข้อมูลอย่างชัดเจนนั้น เราต้องไปสร้างฟอร์มใน VB เลยรึเปล่าครับ ถ้าอย่างนั้นงานช้างสำหรับผมเลย T^T
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 4:14 pm
by bank9597

ครับ งานฐานข้อมูลที่ดีก็ควรจะมีลักษณะเช่นนั้นครับ
ผมทำระบบด้วยเอ้กเซลล์ทั้งหมดด้วยเช่นกันครับ และก็ทำหลายระบบ ทำหลายครั้ง จนพอจะทราบว่าควรออกแบบมาลักษณะไหนถึงจะเหมาะกับงานนั้นๆ ทั้งนี้ขึ้นอยู่กับการฝึกครับว่ามากหรือน้อย ถ้ามากหน่อยก็จะมองเห็นปัญหาและออกแบบได้ยืดหยุ่นครับ
ผมพอมีเวลา เลยลองทำมาให้เบ็ดเสร็จแล้ว ลองนำไปปรับดูครับ ว่ามันถูกต้อง ตรงที่ต้องการหรือไม่ ผมได้เพิ่มชีทใหม่มาค่อนข้างเยอะครับ หากว่ามันใช้ได้ตรงที่ต้องการแล้ว แต่ไม่ทราบหน้าที่การทำงานของชีทใด หรือ สูตรใด ก็ลองตั้งคำถามถามมาเรื่อยๆได้ครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 4:23 pm
by Phrut.witt
ขอบพระคุณครับพี่ ขอนำไปศึกษาก่อนนะครับ

Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 4:55 pm
by Phrut.witt
1 ผมไม่เข้าใจตรง Prod_Temp มันมีหน้าที่ทำอะไรเหรอครับพี่?
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 5:02 pm
by bank9597

มีหน้าที่จัดเรียงข้อมูลที่จะนำไปบันทึกลงในชีท Product ครับ
ผมย่อให้ชื่อสั้นลง เพื่อง่ายต่อการจำและเขียนโค๊ดในโอกาสต่อไป
คำว่า Prod มาจาก Product ครับ
คำว่า Temp มาจาก Template ครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 5:25 pm
by Phrut.witt

พี่ครับแล้วในหน้า Summary ที่จะคำนวณเพื่อวิเคราะห์ค่า เราควรใช้สูตรพวก Dcount, Daverage ที่เป็นสูตรโดยตรงของฐานข้อมูลรึเปล่าครับ?
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Wed May 02, 2012 5:43 pm
by bank9597

สูตรจำพวกนั้น ผมไม่เคยได้ใช้ครับ ซึ่งจะเป็นสูตรสำเร็จรูปมาแล้ว หลักการการใช้งานนั้นก็ไม่น่าจะยากครับ ลองศึกษาดูครับ
สำหรับเรื่องสูตรนั้น สามารถสอบถามอาจารย์คนควนได้ครับ ซึ่งอาจารย์จะมีความรู้ในเรื่องนี้เป็นอย่างดี รวมถึง VBA ครับ
สำหรับผมแล้วในส่วนของการใช้สูตรเพื่อนำค่ามาแสดงนั้น ผมจะมีสูตรให้เลือกใช้ไม่เยอะมาก เช่น Index,Count,Lookup,Sum เป็นต้น ซึ่งสูตรเหล่านี้จะเป็นสูตรหลักๆ ที่ส่วนมากนิยมใช้กันครับ และสามารถพลิกแพลงใช้ได้หลายแบบแล้วแต่ความสามารถของแต่ละคนครับ
ผมยังไม่ได้ดูใน Summary ให้เลยครับ ต้องการให้แสดงข้อมูลแบบไหน ลองตั้งคำถามมาดูครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Thu May 03, 2012 8:54 am
by Phrut.witt
1 ผมก็ใช้สูตรธรรมดาๆเหมือนกันครับ แต่อ่านหนังสือแล้วเจอเลยถามดูครับผม
*** 2 ส่วนสูตรในหน้า Summary นั้นตอนเเรกก็จะรวมค่าของทั้ง Database ก่อนเป็นตัวๆไปครับ แล้วก็จะเอามาหารหาค่าเฉลี่ยออกอีกตารางหนึ่งครับ
แต่พอมาเห็นสูตรพวก Dcount, Daverage แล้วเลยอยากใช้ดูจะได้ลดขนาดและความซ้ำซ้อนไปน่ะครับ
3 ในหน้า From (Input ของผม) ถ้าจะยืนรูปแบบหน้าเดิมเพราะต้องการความรวดเร็ว ถ้าต้องมากรอกชื่อสินค้ารายตัวก่อนในจำนวนเยอะและ 400 ชุดด้วยเกรงว่าจะเสียเวลามากไปครับ แล้วถ้ายืนหน้าเดิมเราจะใช้วิธียังไงให้มันสามารถเพิ่มตัวรายการหรือลดรายการได้ไหมครับ? เพราะคนใช้เป็นแค่ User จริงๆ
ขอให้พี่ๆช่วยดูให้หน่อยนะครับ

Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Thu May 03, 2012 9:18 am
by bank9597
ในหน้า From (Input ของผม) ถ้าจะยืนรูปแบบหน้าเดิมเพราะต้องการความรวดเร็ว ถ้าต้องมากรอกชื่อสินค้ารายตัวก่อนในจำนวนเยอะและ 400 ชุดด้วยเกรงว่าจะเสียเวลามากไปครับ

แบบฟอร์มเดิมผมไม่แน่ใจว่าจะช่วยได้ไหม เพราะว่าตารางมันจะไม่อยู่ในแนวเดียวกัน ทำให้การดึงข้อมูลไปจัดรูปแบบในชีท All Data นั้นทำค่อนข้างลำบากครับ
สำหรับชีท Form ที่ผมออกแบบไปให้นั้น อาจจะช้าในส่วนที่เลือกรายการ แต่เราสามารถแก้ในส่วนนี้ได้โดยการทำ Validation คือการคีย์อักขระแล้วให้แสดงรายการที่ต้องการ เช่น คีย์คำว่า ไก่ โปรแกรมก็จะแสดงรายการที่มีคำว่า ไก่ ขึ้นมาให้เลือก
แล้วถ้ายืนหน้าเดิมเราจะใช้วิธียังไงให้มันสามารถเพิ่มตัวรายการหรือลดรายการได้ไหมครับ? เพราะคนใช้เป็นแค่ User จริงๆ
สามารถทำได้ครับ เนื่องจากผมได้สร้างฟอร์มเพิ่มรายการสินค้าไว้แล้ว คุณสามารถสร้างปุ่มเชื่อมโยงไปยังหน้านั้นได้เลยครับ
สำหรับการลดจำนวนสินค้านั้น ก็สามารถทำได้เช่นกันครับ แต่อย่างไรก็ลองเขียนโค๊ดมาก่อนครับ สามารถศึกษาได้จากกระทู้ในฟอรั่มแห่งนี้ครับ มีอยู่มากมายครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Thu May 03, 2012 9:37 am
by Phrut.witt
ใน from เดิมของผมมันจะส่งค่าจาก Temp (Alldata เดิม) ไปวางใน Database โดยเราไปจัดเรียงข้อมูลที่กรอกในหน้า Temp (Alldata เดิม) อีกทีหนึ่ง
แสดงว่าในส่วนที่เป็นค่าว่างไว้นั้นถ้าเราใช้การคำนวณแบบมีเงื่อนไข เช่น"รหัสสินค้า" พวกช่องว่างพวกนั้นจะไม่ถูกมาคำนวณใช่ไหมครับ?
ก็เท่ากับว่าถ้าผมทำตัวบันทึกให้มันไปเก็บค่าใน Database แบบทบๆกันลงไปเรื่อยๆได้ แบบสำรวจตลาดของผมก็สำเร็จเลยใช่ไหมครับพี่...ขอปรึกษาครับ
...................." ในส่วนนี้ผมคิดถูกรึเปล่าครับ? "..............................
ถ้ายังไงรบกวนพี่อะธิบายวิธีทำ code ตรงส่วนที่ทำให้ข้อมุลมันเก็บค่าทบๆกันได้ไหมครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Thu May 03, 2012 10:00 am
by Phrut.witt
คือผมเขียนโค้ดเองไม่เป็นน่ะครับพี่ กดบันทึกเป็นอย่างเดียว จากCode ที่ผมบันทึกไว้ ตามนี้
Sub Save_data()
'
' Save_data áÁâ¤Ã
'
'
Sheets("Temp").Select
Range("A2:Q196").Select
Selection.Copy
Sheets("Database").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
ต้องเพิ่มหรือแก้ไขยังไงเหรอครับให้มันไปวางค่าทบไล่ลำดับไป ใช่ .SpecialCells(xlCellTypeConstants).ClearContents หรือเปล่าครับ?
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Thu May 03, 2012 10:01 am
by bank9597

ก็คงจะประมาณนั้นครับ
ส่วนโค๊ด หากจะให้อธิบายส่วนไหน ควรยกมาให้ดูด้วยครับ จะไำด้อธิบายได้ถูก
ในส่วนของชีท Input เ้ดิม นั้นสามารถนำข้อมูลไปจัดเรียงในชีท Temp ได้ แต่ต้องปรับตารางใหม่ให้อยู่ในแนวเดียวกัน แล้วใช้สูตรดึงข้อมูลไปอีกที ตรงนี้จะยากมาก เพราะต้องใช้สูตรที่ซับซ้อนครับ ดังนั้นผู้ถามต้องการแบบไหนให้แจ้งมาอีกครั้งครับ
Re: รบกวนถาม เรื่องการสร้างฐานข้อมูลด้วย Excel หน่อยครับ
Posted: Thu May 03, 2012 10:17 am
by Phrut.witt
พี่ครับคือ อยากได้code ที่ส่งค่าจาก temp ไปยัง database ให้มันทบกันไปเรื่อยๆครับผม
การทำแบบนี้ยากรึเปล่าครับ? รบกวนพี่ช่วยดูcodeให้หน่อยครับ ตอนนี้ Code เป็นแบบนี้ครับ
Sub Save_data()
'
' Save_data áÁâ¤Ã
'
'
Sheets("Temp").Select
Range("A2:Q196").Select
Selection.Copy
Sheets("Database").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
ต้องเพิ่มตรงไหนถึงจะทำให้ข้อมูลมันทบลงไปได้ครับ
