Page 1 of 1
ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Fri Mar 11, 2011 3:05 pm
by som
สวัสดีครับคุณคนควน
ผมสร้าง file excel ไว้บันทึกงานบริการลูกค้า
โดยอยากให้บันทึกวันที่และเวลา ณ ขณะนั้น ในแต่ละครั้ง
ผมลองใช้สูตร
=today()
=now()
มีปัญหาคือ มันเปลี่ยนไปเรี่อยๆเลย(หมายถึงมันปรับเวลาเป็นปัจุบันตลอดเลยเวลาขึ้นแถวใหม่หรือปิดแล้วเปิดใหม่)
ทำอย่างไรจึงจะให้มันไม่เปลี่ยนครับ
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Fri Mar 11, 2011 5:05 pm
by snasui
ถ้าต้องการให้เป็นอัตโนมัติจะต้องพึ่ง VBA ครับ
สำหรับการกรอกวัน เวลามีเทคนิคการกรอกข้อมูลที่ไม่ต้องคีย์เองครับโดย
1. การกรอกวันที่ ให้เลือกเซลล์ที่ต้องการจากนั้นกดแป้น
Ctrl+:
2. การกรอกเวลา ให้เลือกเซลล์ที่ต้องการจากนั้นกดแป้น
Ctrl+Shift+;
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Fri Mar 11, 2011 5:27 pm
by som
ขอบคุณมากครับ ตอบเร็วดีจัง
ลองใช้คำสั่งที่แนะนำแล้วใช้ได้ครับ
ตอนนี้ผมกำลังค่อยๆปรับปรุงรูปแบบอยู่และสนใจทำ VBA
อาจจะเข้ามาถามต่อเป็นระยะๆนะครับ
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Thu Mar 17, 2011 4:55 pm
by som
สวัสดีครับคุณคนควน
ขอรบกวนสอบถามอีกนิดนะครับ
ผมต้องการรับส่ง text file เข้ามาในตาราง excel ทีทำใว้ โดยผมได้นำ Code ที่คุณคนควนเคยตอบสมาชิกท่านหนึ่งใว้แล้วมาปรับปรุุง
ตาม file ที่แนบครับ file สำหรับส่งคือ Eng.xls file สำหรับรับ คือ Center.xls
ปัญหาของผมคือ
1.ในการส่ง ให้ส่งข้อมูลช่วง B6:Q6 เฉพาะบรรทัดล่าสุดที่ละ 1 บรรทัด ไปเรี่อยๆ
เอาไปต่อท้ายที่ละบรรทัด ที่ file รับ Center.xls นะครับ
ที่พอทำได้แค่กำหนดช่วงที่แน่นอนใว้ก่อนส่ง แต่จะให้ VBA ส่งบรรทัดล่าสุดให้ทำไม่ได้ครับ
2. file รับ พอ run แล้วมัน error น่ะครับ
ช่วยแนะนำด้วยครับ
ขอบคุณครับ
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Thu Mar 17, 2011 5:11 pm
by snasui
การ Save เป็น Text File เฉพาะบรรทัดสุดท้ายของไฟล์ Eng ให้ดูตัวอย่าง Code ด้านล่างครับ
Code: Select all
Private Sub CommandButton1_Click()
Dim FileSaveName As String
Dim LastRange As Range
Set LastRange = Worksheets("Eng").Range("E65536").End(xlUp). _
Offset(0, -4).Resize(1, 17)
LastRange.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
FileSaveName = Application.GetSaveAsFilename( _
fileFilter:="Text Files (*.txt),*.txt")
If FileSaveName <> "" Then
ActiveWorkbook.SaveAs Filename:=FileSaveName, FileFormat:=xlText
MsgBox "Êè§ÍÍ¡ File ä»·Õè " & FileSaveName & " áÅéǤÃѺ"
End If
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Thu Mar 17, 2011 6:41 pm
by som
โอ้ ขอบคุณมากครับ file ส่งใช้ได้แล้ว
และถ้าเราเอาชื่อลูกค้าในcell D1 มาผนวกกับ ชื่อเครื่องใน cell F1 ใช้ save เป็นชื่อ file ได้ไหมครับ (Cell นี้อยู่ใน workbook txt ที่ Add เพิ่มมา)
แล้ว file รับที่มัน error แก้ยังไงดีครับ
ขอบคุณครับ
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Thu Mar 17, 2011 7:03 pm
by snasui
som wrote:โอ้ ขอบคุณมากครับ file ส่งใช้ได้แล้ว
และถ้าเราเอาชื่อลูกค้าในcell D1 มาผนวกกับ ชื่อเครื่องใน cell F1 ใช้ save เป็นชื่อ file ได้ไหมครับ (Cell นี้อยู่ใน workbook txt ที่ Add เพิ่มมา)
ดูตัวอย่าง Code ด้านล่างครับ
Code: Select all
Private Sub ExportData()
Dim FileSaveName As String
Dim LastRange As Range
Set LastRange = Worksheets("Eng").Range("E65536").End(xlUp). _
Offset(0, -4).Resize(1, 17) 'Select last range
LastRange.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
With ActiveSheet
FileSaveName = "D:\" & .Range("D1") & .Range("F1") 'Drive and file name
If FileSaveName <> "" Then
ActiveWorkbook.SaveAs Filename:=FileSaveName, FileFormat:=xlText
MsgBox "Êè§ÍÍ¡ File ä»·Õè " & FileSaveName & " áÅéǤÃѺ"
End If
End With
Application.DisplayAlerts = False
ActiveWindow.Close
Application.DisplayAlerts = True
End Sub
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Thu Mar 17, 2011 7:17 pm
by snasui
som wrote:
แล้ว file รับที่มัน error แก้ยังไงดีครับ
ขอบคุณครับ
กรณี Error เนื่องจากเดิมกรอกชื่อชีทใน Code ไว้ไม่ถูกต้องครับ ผมปรับให้ใหม่แล้วตามด้านล่าง
Code: Select all
Private Sub CommandButton1_Click()
Dim rTarget As Range
Dim i As Integer
Dim TextFileImport As Variant
TextFileImport = Application.GetOpenFilename("Text Files (*.txt),*.txt", , _
"Select Text Data File", , True)
For i = 1 To UBound(TextFileImport)
Set rTarget = Worksheets("Center Office").Range("B65536").End(xlUp).Offset(1, 0)
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & TextFileImport(i), _
Destination:=rTarget)
.FieldNames = True
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Next i
End Sub
การจะให้ข้อมูลไปต่อบรรทัดที่มีข้อมูลให้ลบสูตรต่าง ๆ ที่ไม่จำเป็นทิ้งไปครับ ไม่เช่นนั้นข้อมูลจะไปต่อจากเซลล์ที่มีสูตร
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Thu Mar 17, 2011 7:34 pm
by som
file ส่ง ใช้ได้ตรงตามความต้องการของผมเป๊ะเลยครับ
ขอบคุณจริงๆ ครับ
เดียวผมจะทดลอง file รับ (center.xls) ต่อครับ
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Thu Mar 17, 2011 7:56 pm
by som
snasui wrote:som wrote:
กรณี Error เนื่องจากเดิมกรอกชื่อชีทใน Code ไว้ไม่ถูกต้องครับ ผมปรับให้ใหม่แล้วตามด้านล่าง
ใช่จริงด้วยครับผมใส่ผิดเอง
การจะให้ข้อมูลไปต่อบรรทัดที่มีข้อมูลให้ลบสูตรต่าง ๆ ที่ไม่จำเป็นทิ้งไปครับ ไม่เช่นนั้นข้อมูลจะไปต่อจากเซลล์ที่มีสูตร
ผมลองรับข้อมูลดูแล้วนะครับมันไม่ต่อท้าย แถมเปลี่ยนขนาดความกว้างของ column เดิมด้วย จะลองลบสูตรออกบ้างอย่างที่แนะนำมา
อาจจะต้องขอรบกวนอีกนะครับ
ขอบคุณครับ
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Fri Mar 18, 2011 10:21 am
by som
หลังจากลบสูตรใน file รับ ทิ้งไปแล้วตามคำแนะนำตอนนี้ใช้ได้ทั้งรับ-ส่ง แล้วครับ
ขอบคุณมากครับคุณคนควน
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Tue Jan 09, 2018 9:26 pm
by sengthavy
สวัสดีครับคุณคนควน
การใส่วันที่และเวลา อัตโมัติ ใน excel โดยไม่ให้เวลาเปลี่ยนไปในวันถัดไปนั้น ยังไม่ทันได้แก้ ครับ รบกวณท่านช่วยหน่อยครับ
Re: ใส่วันที่และเวลา อัตโมัติ ใน excel
Posted: Tue Jan 09, 2018 9:29 pm
by snasui
อ่านโพสต์ #2 ด้านบน
ผมตอบไว้เรียบร้อยแล้วครับ