Đưa định dạng ngày tháng từ file khác về giống định dạng file thao tác (1 người xem)

Liên hệ QC

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

kobebryant

Thành viên thường trực
Tham gia
7/8/09
Bài viết
248
Được thích
28
Mình bị hiện tượng là copy ngày tháng từ file khác vào file của mình thì nó ko nhận ra đó là ngày tháng nên công thức chạy toàn báo lỗi, biết rằng file khác cell đó cũng định dạng là ngày tháng luôn ví dụ file mình là dd/mm/yy còn file khác định dạng là dd/mm/yyyy và mình copy là copy paste/values nhưng vẫn bị.
Theo mình nghĩ do mỗi file cách nhập ngày tháng khác nhau nên bị lỗi này, vậy giờ có cách nào khắc phục không. Chẳng lẽ phải dùng cột phụ bóc tách ngày tháng năm ra à, cách này hơi khó cho mình.
Xin cảm ơn.
 

File đính kèm

Mình bị hiện tượng là copy ngày tháng từ file khác vào file của mình thì nó ko nhận ra đó là ngày tháng nên công thức chạy toàn báo lỗi, biết rằng file khác cell đó cũng định dạng là ngày tháng luôn ví dụ file mình là dd/mm/yy còn file khác định dạng là dd/mm/yyyy và mình copy là copy paste/values nhưng vẫn bị.
Theo mình nghĩ do mỗi file cách nhập ngày tháng khác nhau nên bị lỗi này, vậy giờ có cách nào khắc phục không. Chẳng lẽ phải dùng cột phụ bóc tách ngày tháng năm ra à, cách này hơi khó cho mình.
Xin cảm ơn.

Các ô B1, B3, D3 không phải là dữ liệu kiểu ngày. Hãy thử bằng cách Format tháng theo tiếng Anh là ra ngay.
 
Cần xác định ở từng file là định dạng ngày tháng (Date) hay định dạng chuỗi (Text). Cách kiểm tra: dùng hàm TYPE(ô ngày tháng cần xác định), kết quả 1 là định dạng Date (hoặc Number), 2 là định dạng Text.
Ở mỗi máy tính có định dạng ngày tháng khác nhau, có khi là dd/mm, có khi là mm/dd. Việc xác định định dạng ngày tháng cũng mất công nhưng phải xử lý, như bạn nói, phải dùng cột phụ để xử lý.
 
Mình bị hiện tượng là copy ngày tháng từ file khác vào file của mình thì nó ko nhận ra đó là ngày tháng nên công thức chạy toàn báo lỗi, biết rằng file khác cell đó cũng định dạng là ngày tháng luôn ví dụ file mình là dd/mm/yy còn file khác định dạng là dd/mm/yyyy và mình copy là copy paste/values nhưng vẫn bị.
Theo mình nghĩ do mỗi file cách nhập ngày tháng khác nhau nên bị lỗi này, vậy giờ có cách nào khắc phục không. Chẳng lẽ phải dùng cột phụ bóc tách ngày tháng năm ra à, cách này hơi khó cho mình.
Xin cảm ơn.
Như các anh chị góp ý, cũng có nhiều nguyên nhân
PHP:
Function Ngay(Str As String) 'As Date
Dim arr() As String
Application.Volatile (False)
arr() = Split(Trim(Replace(Replace(Str, "/", " "), "-", " ")), " ")
If InStr(1, Str, "/") + InStr(1, Str, "-") <> 0 Then
    Ngay = DateSerial(2012, CLng(arr(1)), CLng(arr(0)))
Else
    Ngay = "ERR"
End If
End Function
Không biết file của bạn có nhiều dữ liệu ko, bạn dùng tạm code này
tạo cột phụ =ngay(o đang dạng te xt cứ kéo xuống) sau đó pa ste vào cột dữ liệu thật , Bạn thay 2012 bằng năm tương ứng nhé ( ví dụ trong file thay 2012 thành 2010
Hoặc có thể sửa thế này thì năm nào cũng được ( ko cần sửa 2012 nữa , với dữ liệu bạn gửi lên)
PHP:
Function Ngay(Str As String) 'As Date
Dim arr() As String
Application.Volatile (False)
arr() = Split(Trim(Replace(Replace(Str, "/", " "), "-", " ")), " ")
If InStr(1, Str, "/") + InStr(1, Str, "-") <> 0 Then
    Ngay = DateSerial(Val(Right(Str, 4)), CLng(arr(1)), CLng(arr(0)))
Else
    Ngay = "ERR"
End If
End Function
 
Lần chỉnh sửa cuối:
Mình bị hiện tượng là copy ngày tháng từ file khác vào file của mình thì nó ko nhận ra đó là ngày tháng nên công thức chạy toàn báo lỗi, biết rằng file khác cell đó cũng định dạng là ngày tháng luôn ví dụ file mình là dd/mm/yy còn file khác định dạng là dd/mm/yyyy và mình copy là copy paste/values nhưng vẫn bị....

Nếu tạo cột phụ thì cũng có thêm 1 cách là *1 (nhân cho 1) rồi vô Format Cells định dạng lại.
 
Mình bị hiện tượng là copy ngày tháng từ file khác vào file của mình thì nó ko nhận ra đó là ngày tháng nên công thức chạy toàn báo lỗi, biết rằng file khác cell đó cũng định dạng là ngày tháng luôn ví dụ file mình là dd/mm/yy còn file khác định dạng là dd/mm/yyyy và mình copy là copy paste/values nhưng vẫn bị.
Theo mình nghĩ do mỗi file cách nhập ngày tháng khác nhau nên bị lỗi này, vậy giờ có cách nào khắc phục không. Chẳng lẽ phải dùng cột phụ bóc tách ngày tháng năm ra à, cách này hơi khó cho mình.
Xin cảm ơn.
Dùng Data --> text to column đi chọn date DMY hoặc đánh số 1 chỗ nào đó rồi copy nó chọn vùng ngày pastespecial chọn Multiply
 
Dùng Data --> text to column đi chọn date DMY hoặc đánh số 1 chỗ nào đó rồi copy nó chọn vùng ngày pastespecial chọn Multiply
Hoặc copy 1 ô trống bất kỳ rồi Paste Special vào vùng dữ liệu với tùy chọn Add. Cách này thì khỏi phải xóa số 1 sau khi thao tác xong.
 
Hoặc copy 1 ô trống bất kỳ rồi Paste Special vào vùng dữ liệu với tùy chọn Add. Cách này thì khỏi phải xóa số 1 sau khi thao tác xong.
Copy vào 1 ô trống thì công thức mình lại phải link tới ô mới, vậy thì cách này cũng gần giống tạo cột phụ rồi
 
Copy vào 1 ô trống thì công thức mình lại phải link tới ô mới, vậy thì cách này cũng gần giống tạo cột phụ rồi
Cái vụ này thì liên quan gì đến việc link tới ô mới nhỉ? Đây chỉ là thao tác Paste Special để chuyển các chuỗi số thành số thực sự thôi mà. Điều tôi muốn nói là cách này so với cách của bạn nmhung49 ở trên thì lợi hơn ở chỗ trước khi copy không cần gõ số 1 và sau khi paste không cần phải xóa số 1 đó thôi, còn về mục đích thì như nhau.
 
Cái vụ này thì liên quan gì đến việc link tới ô mới nhỉ? Đây chỉ là thao tác Paste Special để chuyển các chuỗi số thành số thực sự thôi mà. Điều tôi muốn nói là cách này so với cách của bạn nmhung49 ở trên thì lợi hơn ở chỗ trước khi copy không cần gõ số 1 và sau khi paste không cần phải xóa số 1 đó thôi, còn về mục đích thì như nhau.
Mình thấy cách text to column có vẻ ok tuy bước hơi dài nhưng data vẫn nguyên vị trí, thích hợp để mình viết macro. Cám ơn bạn đã góp ý
 
Mình bị hiện tượng là copy ngày tháng từ file khác vào file của mình thì nó ko nhận ra đó là ngày tháng nên công thức chạy toàn báo lỗi, biết rằng file khác cell đó cũng định dạng là ngày tháng luôn ví dụ file mình là dd/mm/yy còn file khác định dạng là dd/mm/yyyy và mình copy là copy paste/values nhưng vẫn bị.
Theo mình nghĩ do mỗi file cách nhập ngày tháng khác nhau nên bị lỗi này, vậy giờ có cách nào khắc phục không. Chẳng lẽ phải dùng cột phụ bóc tách ngày tháng năm ra à, cách này hơi khó cho mình.
Xin cảm ơn.
bạn nhấp chuột phải chọn format cell rồi chọn vào date trên thanh type bạn vào đó chon mm/dd/yyyy nhấn ok la được.
 
Bạn vào format cell rơi chọn date trong mục stype bạn chọn dd/mm/yyyy chọn ok .bạn nhớ chon cả cột nha.
chúc bạn thành công.
 
Bạn vào format cell rơi chọn date trong mục stype bạn chọn dd/mm/yyyy chọn ok .bạn nhớ chon cả cột nha.
chúc bạn thành công.
Cách của bạn áp dụng được nếu dữ liệu đều kiểu Date, hoặc ít ra thì phải là Number. Ở đây các ô B1, B3, D3 kiểu Text nên không dùng được.
 
Cách của bạn áp dụng được nếu dữ liệu đều kiểu Date, hoặc ít ra thì phải là Number. Ở đây các ô B1, B3, D3 kiểu Text nên không dùng được.
Mình ko hiểu sao ở máy khác thì định dạng là Date, vào máy mình cho định dạng lại là Date luôn vậy mà nó ko hiểu. Dùng Text to Col thì nó ok
 
Web KT

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

Back
Top Bottom