Nhờ các GPE giúp em viết 1 code dùng để giữ lấy ngày tháng năm trong cột.
Em cảm ơn!
Sub Macro1()
With Columns("A:A")
.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
End With
Columns("C:C").ClearContents
End Sub
dùng text to column nha
tôi dùng dateserial nó ra tùm lum hết
Mã:Sub Macro1() With Columns("A:A") .TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True End With Columns("C:C").ClearContents End Sub
Public Sub GPE()
Dim Arr(), I As Long
On Error Resume Next
Arr = Range([A2], [A65536].End(xlUp)).Value
For I = 1 To UBound(Arr, 1)
Arr(I, 1) = DateSerial(Year(Arr(I, 1)), Month(Arr(I, 1)), Day(Arr(I, 1)))
Next I
Columns("A:A").NumberFormat = "General"
[A2].Resize(I - 1) = Arr
End Sub
dạ em cảm ơn 2 bác. Cho em hỏi chút nếu em muốn chọn vùng dữ liệu bất kỳ và chạy code sẽ cho kết quả trên ngay vùng dữ liệu mình lựa chọn thì phải sửa code trên như thế nào. em cảm ơn ạ!
em cảm ơn thầy, em cũng thu 1 macro theo cách làm bằng tay như thầy chỉ nhưng khi em chạy vẫn có vùng dữ liệu ngày tháng bị đảo cho nhau .Nhờ thầy giúp em tạo được 1 code như mong muốn.Bạn thử cách làm bằng tay thế này xem:
- Quét chọn vùng dữ liệu
- Bấm Ctrl + H
- Khung Find what bạn gõ _* (Khoảng trống và dấu sao)
- Khung Replace with bạn để trống
- Bấm Replace All
--------------------
Nếu may mắn, sẽ có được kết quả như ý
Bạn thử code này xem sao:dạ em cảm ơn 2 bác. Cho em hỏi chút nếu em muốn chọn vùng dữ liệu bất kỳ và chạy code sẽ cho kết quả trên ngay vùng dữ liệu mình lựa chọn thì phải sửa code trên như thế nào. em cảm ơn ạ!
Cảm ơn bác nhưng khi em chạy vẫn bị lỗi ngày tháng bị đảo ngược cho nhau :Bạn thử code này xem sao:
Bạn định dạng cột đó là dd/mm/yyyy thử xem saoCảm ơn bác nhưng khi em chạy vẫn bị lỗi ngày tháng bị đảo ngược cho nhau :
vd như với dữ liệu 07/11/201417:49:00 khi chuyển lại thành 11/07/2014. chỉ đúng với ngày <=12 .Mong các bác GPE chỉ dẫn giúp em lại bị lỗi này.Em cảm ơn ạ!
dạ em đã làm thử rồi Không được bác, nó vẫn bị đảo như vậy.Bạn định dạng cột đó là dd/mm/yyyy thử xem sao
Kiểm tra máy định dạng máy trong control panel xem ngày dd/mm/yyyy hay mm/dd/yyyy dùng code bài 2 đi nếu làm thủ công thì chọn Data --> Text to column tới bước 3 chọn Date chọn DMY xong Finisheddạ em đã làm thử rồi Không được bác, nó vẫn bị đảo như vậy.
[h=2]E cảm ơn bác, nhưng vẫn không được, còn làm tay theo cách thầy ndu96081631 chỉ thì ok nhưng em thắc mắc không hiểu sao khi mình dùng code mà ngày tháng lại bị đảo lộn.[/h]Kiểm tra máy định dạng máy trong control panel xem ngày dd/mm/yyyy hay mm/dd/yyyy dùng code bài 2 đi nếu làm thủ công thì chọn Data --> Text to column tới bước 3 chọn Date chọn DMY xong Finished
Thử lại với code này xem sao.dạ em đã làm thử rồi Không được bác, nó vẫn bị đảo như vậy.
Public Sub Tach_TG()
Dim Cll As Range
On Error Resume Next
For Each Cll In Selection
If Cll <> "" Then
Cll.Value = " " & Left(Cll, 10)
End If
Next
End Sub
Dạ ok anh, em thấy hoạt động tốt, em xin cảm ơn các anh GPE nhiều!!!Thử lại với code này xem sao.
PHP:Public Sub Tach_TG() Dim Cll As Range On Error Resume Next For Each Cll In Selection If Cll <> "" Then Cll.Value = " " & Left(Cll, 10) End If Next End Sub