Dùng code để giữ lại ngày tháng năm trong cột (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

vandohcm

Thành viên mới
Tham gia
3/3/14
Bài viết
30
Được thích
1
Giới tính
Nam
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!
 

File đính kèm

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!

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
 
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

Dateserial nè:
(Nếu cột B kế bên có dữ liệu)
PHP:
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 ạ!
 
Lần chỉnh sửa cuối:
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 ạ!

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ử 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ư ý
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.
 
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 ạ!
Bạn thử code này xem sao:
 

File đính kèm

Bạn thử code này xem sao:
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 :
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 ạ!
 
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 :
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 ạ!
Bạn định dạng cột đó là dd/mm/yyyy thử xem sao
 
dạ em đã làm thử rồi Không được bác, nó vẫn bị đảo như vậy.
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
 
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
[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]
 
dạ em đã làm thử rồi Không được bác, nó vẫn bị đảo như vậy.
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
 
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
Dạ ok anh, em thấy hoạt động tốt, em xin cảm ơn các anh GPE nhiều!!!
 
Web KT

Bài viết mới nhất

Back
Top Bottom