Page 1 of 1

ให้เลือกข้อมูลแล้วบันทึกวันเวลาบันทึก

Posted: Thu Oct 10, 2013 5:13 pm
by chatsri999
เรียน อาจารย์ครับ

ผมขอสอบถามสูตรเกียวกับวันเวลาหน่อยครับ คือหากผมต้องการเงื่อนไข เวลาเราเลือก DropDown ที่ Column B แล้วให้แสดงวันเวลาที่ Column A เป็น ณ ตอนที่คีย์นั้นครับ ผมลองใช้ =IF(B5>"",NOW(),"") แล้วมันกลับเป็นเวลาเดียวกันทุก Row เลยครับ อยากให้เวลา ณ ตอนที่คีย์ตอนนั้นเลยครับ ต้องทำยังไงบ้างครับ ตามไฟล์แนบครับ

Re: ให้เลือกข้อมูลแล้วบันทึกวันเวลาบันทึก

Posted: Thu Oct 10, 2013 5:18 pm
by logic
ทำไม่ได้ด้วยสูตร ต้องใช้ VBA ช่วยหากต้องเก็บค่าเวลา ณ ขณะใดขณะหนึ่งครับ

Re: ให้เลือกข้อมูลแล้วบันทึกวันเวลาบันทึก

Posted: Fri Oct 11, 2013 8:00 am
by chatsri999
งั้นต้องมีเวลา สูตรคือ =NOW() ที่ A1 VBA Copy & Past Special Value มาไว้ที่ A5 ได้มั้ยครับ แต่ผมไม่รู้ว่าจะต้องเขียนโค๊ดยังไงครับ กรุณาช่วยผมด้วยครับ

สรุปแล้วก็คือ เมื่อเลือก DropDown ที่ B5 แล้วให้ A5 Copy & Past Special Value จาก A1 มาครับ พอจะแนะนำให้ผมได้มั้ยครับ ขอขอบคุณล่วงหน้าครับ

Re: ให้เลือกข้อมูลแล้วบันทึกวันเวลาบันทึก

Posted: Fri Oct 11, 2013 8:24 am
by joo
:D VBA จำเป็นต้องเขียนมาเองก่อนครับตามกฎข้อที่5 หากต้องการแสดงวันเวลาในเซลล์อัตโนมัติลองศึกษาจากลิงค์นี้ดูครับ
http://www.snasui.com/viewtopic.php?f=3&t=2397&p=15668
http://www.snasui.com/viewtopic.php?f=3&t=1843&p=11754
http://www.snasui.com/viewtopic.php?f=3&t=5356&p=34571

Re: ให้เลือกข้อมูลแล้วบันทึกวันเวลาบันทึก

Posted: Fri Oct 11, 2013 12:11 pm
by chatsri999
ขอบคุณมากครับอาจารย์ที่ให้แนวคิด พอดีผมได้สูตรของ VBA แล้วครับ แต่ติดตรงที่ต่อไปไม่เป็นครับ ตรงที่ตามไฟล์แนบ Sheet1 A2 เมื่อเราเลือก DropDown แล้วจะมี DateTime โชว์แล้ว แต่ติดตรงที่ความต้องการว่า ถ้าลบ A2:A4 ออกแล้วให้ DateTime หายไป แต่ปัจจุบันมันยังคงค้างอยู่ครับ ผมติดตรง Code VBA ครับ รบกวนต่อ Code ให้ผมด้วยครับ ตามไฟล์แนบอะครับ

Re: ให้เลือกข้อมูลแล้วบันทึกวันเวลาบันทึก

Posted: Fri Oct 11, 2013 12:36 pm
by snasui
:D ลองปรับ Code เป็นตามด้านล่างครับ

Code: Select all

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
        With Target(1, 2)
            If Target.Value = "" Then
                .Value = ""
            Else
                .Value = Now
                .EntireColumn.AutoFit
            End If
        End With
    End If
End Sub
ในการใช้ Code VBA จำเป็นต้องปรับเองเป็นบ้าง ถ้าปรับเองไม่เป็นเลยผมไม่แนะนำให้ใช้ VBA ครับ

Re: ให้เลือกข้อมูลแล้วบันทึกวันเวลาบันทึก

Posted: Fri Oct 11, 2013 1:19 pm
by chatsri999
ขอบคุณทุกท่านมากๆ ครับ ผมทำได้แล้วครับ ขอบคุณจากใจครับ