:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser
🪷 คำแสดงเจตนา
ขอผลแห่งการให้ความรู้นี้ จงกลับไปยังผู้ที่เป็นเจ้าของเดิม แม้ข้าพเจ้าจะไม่รู้จักท่านก็ตาม ขอให้แสงแห่งปัญญาที่ท่านเคยจุดไว้ ได้กลับไปเติมเต็มชีวิตของท่านอีกครั้ง และขอให้เจตนาของข้าพเจ้าเป็นการคืนความดีอย่างสงบ

ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อมูล

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#21

Post by suka »

อาจารย์คะ ส่งไฟล์ที่ชีท PrintReport ไม่ทราบว่าพอจะนำมาใช้ได้หรือไม่
หากยังใช้ไม่ได้ ขออาจารย์ช่วยแนะนำเพิ่มนะคะ ควรปรับปรุงที่ใด

ขอบพระคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#22

Post by snasui »

ผมเขียน Code สำหรับการ View Report มาให้ตามด้านล่าง ดูตัวอย่างไฟล์แนบครับ

Code: Select all

Sub HideUnhide()
Dim r As Range
Dim i As Integer
With Worksheets("PrintReport")
    .Range("C1:AG1").EntireColumn.Hidden = False
    i = 31 - (.Range("B3") - .Range("B2") + 1)
    If i < 0 Then
        MsgBox "Please check date."
        Exit Sub
    End If
    Set r = .Range("AG1") _
        .Offset(0, -i + 1).Resize(1, i + 1)
End With
If r.Count = 1 Then
    Exit Sub
End If
r.EntireColumn.Hidden = True
End Sub
You do not have the required permissions to view the files attached to this post.
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#23

Post by suka »

อาจารย์คะ มารับไฟล์แนบนะคะ

ได้ตามที่ต้องการค่ะ ขอขอบคุณในความมีน้ำใจ ให้ความรู้ให้ช่วยเหลือผู้รู้น้อยด้วยความจริงใจ
ใกล้ปีใหม่ไทยแล้ว ขอให้อาจารย์ได้รับพรจากสิ่งศักดิ์สิทธิ์ ที่อาจารย์นับถือคุ้มครองมีสุขภาพดี
มีความสุข เดินทางปลอยภัยนะคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#24

Post by snasui »

ขอบคุณสำหรับคำอวยพร ขอให้โชคดี มีความสุข ก้าวหน้าในอาชีพยิ่ง ๆ ขึ้นไปครับ :D
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#25

Post by suka »

สวัสดีปีใหม่ไทยค่ะ
ขอบคุณค่ะ ขอให้อาจารย์และครอบครัวโชคดี มีความสุข ก้าวหน้าในทุก ๆ ด้าน เช่นกันนะคะ

อาจารย์คะ ขอถามเรื่องฟอร์มกรอกข้อมูลค่ะ หากชีท Form ออกแบบกรอกข้อมูลเป็นรายสัปดาห์
เช่นฟอร์มตัวอย่างนี้ไม่ทราบว่าสามารถทำการบันทึกข้อมูลไปไว้ที่ชีท Database ได้ไหมคะ

ขอบพระคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#26

Post by snasui »

การกรอกข้อมูลแบบที่ว่านั้นแล้วค่อยนำไปทำเป็น Database ก็เหมือนกับที่กรอกเป็นเดือนตามที่ถามมาก่อนหน้าครับ การทำเป็น Database สามารถทำได้แต่จะยุ่งยาก

วิธีการหนึ่งที่ทำได้คือ เพิ่ม Template เรียงข้อมูลให้เป็น Database ก่อนอย่างที่แสดงไว้แล้วตามที่ถามมาก่อนหน้านี้ที่ http://www.snasui.com/viewtopic.php?p=5754#p5754 แล้วค่อยนำข้อมูลใน Template ไปวางใน Database อีกที จะได้เขียน Code VBA ได้ง่ายและสั้นลงมาก

แต่ก่อนจะเขียน Code อยากทราบว่าข้อมูลใน Database มีครบตามต้องการแล้วยังครับ หักเบิก, ประกัน, เบิกเพิ่ม จะต้องมีหรือไม่ครับ :?:
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#27

Post by suka »

อาจารย์คะ ขอรบกวนค่ะ ที่ชีท Template เชลล์ A2 ไม่สามารถทำการเรียงข้อมูลวันที่มาแสดงให้ได้ถูกต้อง ขออาจารย์ช่วยค่ะ

และขอคำแนะนำเพิ่มค่ะ ที่ชีท Form หากต้องบันทึก OT ด้วย ( ค่าแรงต่อวันหาร 6 เท่ากับ 1 ชม.OT ค่ะ ) แบบฟอร์มควรจะเปลี่ยนหรือเสริมจุดใดบ้างคะ

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#28

Post by snasui »

:D ผมเพิ่มสูตรและเขียน Code เพิ่มให้แล้วตามด้านล่างครับ

ที่ชีท Template เซลล์ A2 คีย์สูตร

=INDEX(Form!$F$3:$K$3,MOD((ROWS(A$2:A2)-1),$M$1)+1)

Enter > Copy ลงด้านล่าง

ที่ Module ปกติเพิ่ม Code ตามด้านล่างเพื่อ Copy ข้อมูลจากชีท Template ไปวางใน Database

Code: Select all

Sub PasteData()
Dim rSource As Range
Dim rTarget As Range
Set rSource = Worksheets("Template").Range("A2", Range("J61"))
Set rTarget = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
ดูไฟล์แนบประกอบตามด้านล่างครับ
You do not have the required permissions to view the files attached to this post.
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#29

Post by suka »

อาจารย์คะ
หากต้องการบันทึกพนักงานทำงานล่วงเวลาด้วย ( ค่าแรงต่อวันหาร 6 เท่ากับ 1 ชม.OT ค่ะ ) ที่ชีท Form ควรจะปรับจุดใดบ้างคะ ขอคำแนะนำนะคะ

ขอบพระคุณค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#30

Post by snasui »

:lol: อันนี้แล้วแต่ผู้ใช้งานจะออกแบบมาครับ

ด้วยความสามารถของ Excel และความชำนาญของผู้ใช้งานไม่ได้ขึ้นอยู่กับว่านำข้อมูลมาจากไหน อย่างไร ย่อมสามารถนำไปบันทึกได้ทั้งนั้นครับ แต่การปรับแก้อาจจะยาก-ง่ายต่างกันมาก ลองออกแบบมาตามต้องการแล้วค่อยมาดูกันต่อครับ
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#31

Post by suka »

อาจารย์คะ ที่ชีท Form ขอรบกวนช่วยเขียน Code เพิ่ม เพื่อบันทึกข้อมูลให้หน่อยนะคะ

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#32

Post by snasui »

:D ปรับ Code สำหรับวางข้อมูลเป็นตามด้านล่างครับ

Code: Select all

Sub PasteData()
Dim rSource As Range
Dim rTarget As Range
Set rSource = Worksheets("Template").Range("A2", Range("M61"))
Set rTarget = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#33

Post by suka »

อาจารย์คะ ขอรบกวนค่ะ ที่ชีท Form ทำปุ่มบันทึกข้อมูลไว้ แต่เมื่อกดบันทึกแล้วไม่ทำงานค่ะ ขอคำแนะนำเพิ่มค่ะ

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#34

Post by joo »

ลองปรับแก้โค๊ดที่บรรทัดนี้ดูครับ :D

Code: Select all

Sub PasteData()
Dim rSource As Range
Dim rTarget As Range
Set rSource = Worksheets("Template").Range("A2:N61")
Set rTarget = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
Application.CutCopyMode = False
End Sub
You do not have the required permissions to view the files attached to this post.
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#35

Post by suka »

ได้แล้วค่ะ ขอบคุณมากค่ะ คุณ joo ดีใจค่ะได้รับความช่วยเหลือจากเพื่อนสมาชิก ขอบคุณนะคะ
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#36

Post by suka »

อาจารย์คะ ส่งไฟล์มาขอรบกวนอาจารย์ช่วยปรับสูตรให้ค่ะ ที่ชีท PrintReport ค่ะ
ได้แทรกเซลล์ OT เพิ่มเข้ามาในชีท PrintReport จึงใช้กับสูตรเดิมไม่ได้ค่ะ

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#37

Post by suka »

ขออภัยนะคะ ไฟล์แนบเดิมข้อมูลไม่ครบ ขอส่งใหม่อีกรอบค่ะ

อาจารย์คะ รบกวนเรื่องสูตรค่ะ
ต้องการนำเอาคอลัมน์ G ในชีท Database มาแสดงที่คอลัมน์ D ในชีท PrintReport
และนำเอาคอลัมน์ H ในชีท Database มาแสดงที่คอลัมน์ E ในชีท PrintReport
โดยเริ่มที่ G จน R จากการบันทึกของชีท Form ซึ่งบันทึกเป็นรายสัปดาห์ค่ะ

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#38

Post by snasui »

ในชีท Form คอลัมน์ H, J, L, N, P, R คือค่าอะไรครับ :?:
User avatar
suka
Silver
Silver
Posts: 918
Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#39

Post by suka »

คือค่าที่บันทึกจากการทำ OT ในแต่ละวันของพนักรายวันค่ะ
H = วันจันทร์ , J = อังคาร , L = พุธ , N = พฤหัส, P = ศุกร์ , R = เสาร์ พื้นสีเหลืองในชีท Form แสดงข้อมูล OT ค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31176
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

#40

Post by snasui »

:D ผมได้ปรับ Template ใหม่ให้อยู่ในรูป Database แทนที่จะเป็น Report และปรับสูตรในการแสดงที่ Template (ที่ระบายสีเหลือง), PrintReport ปรับ VBA ที่จะ View Report ลองทดสอบใช้งานตามไฟล์แนบครับ
You do not have the required permissions to view the files attached to this post.
Post Reply