Page 1 of 1
หาเชลล์ที่วันที่ตรงกัน
Posted: Fri May 17, 2013 11:51 pm
by Ueng999
ต้องการให้เมื่อ คลิก CommandButton.1 ให้หาวันที่ในเชลล์ A2:A30 ที่ตรงกับเชลล์ B1 และให้วันที่และเวลาปัจจุบันขึ้นที่เชลล์ D ในแถวที่วันที่ตรงกับเชลล์ B
และบันทึกทันที
15/5/2013
16/5/2013
17/5/2013________________________17/5/2013 23:37
18/5/2013
19/5/2013
20/5/2013
Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Fri May 17, 2013 11:57 pm
by snasui

Code ที่เขียนมาเองแล้วชื่ออะไร ติดที่บรรทัดใดครับ
Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Sat May 18, 2013 10:28 am
by Ueng999
ลำดับการทำงานที่ต้องการค่ะ
1.คลิกที่ บันทึก
2.ค้นหาวันที่จาก ช่วงเซลล์ A2:A9 ที่มีค่าเท่ากับเซลล์ A1(ไม่ทราบว่าจะต้องใช้ Code อะไรคะ)
3.จากไฟล์แนบช่วงเซลล์ที่มีวันที่ตรงกับเซลล์ A1 คือเซลล์ A4
4.ให้วันที่และเวลาปัจจุบันปรากฏขึ้นที่เซลล์ D แถวที่ตรงกับเซลล์ A4 ก็คือเซลล์ D4
5.บันทึก
Code: Select all
Private Sub CommandButton1_Click()
MsgBox "ºÑ¹·Ö¡àÇÅÒà¢éÒ§Ò¹"
Range("D2").Select
ActiveCell.FormulaR1C1 = "=IF(R1C2=RC1,NOW())"
ThisWorkbook.Save
End Sub
Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Sat May 18, 2013 11:11 am
by joo

หากต้องการเพียงแค่ค้นหาวันที่ที่ตรงกับเซลล์ A1 คิดว่าใช้สูตรในการค้นหาก็น่าจะเพียงพอครับ ที่ D2 คีย์ =INDEX($A$2:$A$9,MATCH($A$1,$A$2:$A$9,0))
Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Sat May 18, 2013 1:10 pm
by joo
Ueng999 wrote:4.ให้วันที่และเวลาปัจจุบันปรากฏขึ้นที่เซลล์ D แถวที่ตรงกับเซลล์ A4 ก็คือเซลล์ D4

ขออภัยมองข้ามเงื่อนไขไปข้อหนึ่ง ปรับสูตรที่ D2 ใหม่เป็น =IF($A$1=A2,INDEX($A$2:$A$9,MATCH($A$1,$A$2:$A$9,0)),"")
Enter > Copy ลงล่าง
Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Sat May 18, 2013 3:18 pm
by Ueng999
ยังไม่ได้ค่ะ จริงๆ แล้วต้องการทำเพื่อบันทึกการลงเวลาพนักงานค่ะ คิดว่าน่าจะต้องใช้ VBA ช่วยแต่ยังไปไม่เป็นเลยค่ะ ใครทราบช่วยบอกทีค่ะ
Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Sat May 18, 2013 3:43 pm
by snasui

ไม่ได้ก็ไม่แปลกครับ เนื่องจากการทำเช่นนั้นด้วย VBA ต้องศึกษาการ Loop ของ VBA ไม่สามารถใช้การบันทึก Macro เพื่อทำงานนี้ได้ VBA ไม่เหมือนสูตรใน Excel ที่พอจะเดาทางได้บ้าง จำเป็นที่จะต้องศึกษาพื้นฐานมาก่อนและปรับปรุงเองได้บ้าง ไม่เช่นนั้นไม่ควรใข้ VBA ถ้าจำเป็นต้องใช้ ให้ผู้ที่เขียนได้เขียนมาก่อน ติดตรงไหนค่อยถามกันครับ
สำหรับ Code ตัวอย่าง ตามด้านล่างครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim r As Range
For Each r In Range("A2", Range("A" & Rows.Count) _
.End(xlUp))
If r = Range("A1") Then r.Offset(0, 3) = Now
Next r
MsgBox "บันทึกเวลาเข้างาน"
ThisWorkbook.Save
End Subb
Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Sun May 19, 2013 8:20 pm
by Ueng999
ได้แล้วค่ะ ขอบคุณมาก มาก ค่ะ

Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Tue Jun 18, 2013 2:11 pm
by Ueng999

จากการใช้งาน รบกวนอีกที่ค่ะ ถ้าต้องการให้เมื่อ คลิก CommandButton.2 ค้นหาวันที่จาก ช่วงเซลล์ A3:A8 ที่มีค่าเท่ากับเซลล์ B2 ให้วันที่และเวลาปัจจุบันปรากฏขึ้นที่เซลล์ E แถวที่ตรงกับเซลล์ A ที่ sheet 1,Sheet 2,Sheet 3 แต่ถ้าเชลล์ D ไม่มีข้อมูล(เวลาเข้างาน) เชลล์ E ก็ไม่ขึ้นข้อมูล(เวลาออกงาน)
Re: หาเชลล์ที่วันที่ตรงกัน
Posted: Tue Jun 18, 2013 2:25 pm
by snasui

ได้ปรับ Code มาเองแล้วยัง ชื่อว่า Procedure อะไร ติดที่บรรทัดใดครับ