Giá trị ngày tháng năm bị lỗi định dạng khi Copy paste

Liên hệ QC

1+1=2

Thành viên bị đình chỉ hoạt động
Thành viên bị đình chỉ hoạt động
Tham gia
5/7/20
Bài viết
62
Được thích
12
Cháu chào cả nhà giải pháp Excel. Cháu có copy cột thời gian từ 1 file Notepad dán vào Excel ( Mà Excel cháu đã định dạng sẳng là dd/mm/yy hh:mm mà sau khi dán nó lại thành dd/mm/yyyy hh:mm:ss ) Và cách khắc phục hiện cháu làm thủ công là kích đúp chuột vào từng ô đó , rồi nhấn Enter là nó tự trể lại là dd/mm/yy hh:mm , mà cả nghìn dòng sao mà kích đúp từng ô nổi. Mọi người có cách nào viết sub nhấn cái rẹt cho nhanh không chỉ cháu với. Cháu xin chân thành cảm ơn.

Hiện cháu mới tìm ra 1 cách nửa Ctrl + F Repace .
Dòng Find what: gõ dấu cách
Dòng Replace: gõ dấu cách
Nhấn nút Replace All là xong
Cháu có thử Recond Macro lại mà sao nó không chạy được . nhờ mọi người hổ trợ

Mã:
Sub Macro1()
    Range("A2:A19").Replace What:=" ", Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

1594804746808.png
 

File đính kèm

  • loi ngay thang nam.xlsb
    15 KB · Đọc: 11
Lần chỉnh sửa cuối:
Cháu chào cả nhà giải pháp Excel. Cháu có copy cột thời gian từ 1 file Notepad dán vào Excel ( Mà Excel cháu đã định dạng sẳng là dd/mm/yy hh:mm mà sau khi dán nó lại thành dd/mm/yyyy hh:mm:ss ) Và cách khắc phục hiện cháu làm thủ công là kích đúp chuột vào từng ô đó , rồi nhấn Enter là nó tự trể lại là dd/mm/yy hh:mm , mà cả nghìn dòng sao mà kích đúp từng ô nổi. Mọi người có cách nào viết sub nhấn cái rẹt cho nhanh không chỉ cháu với. Cháu xin chân thành cảm ơn.

Hiện cháu mới tìm ra 1 cách nửa Ctrl + F Repace .
Dòng Find what: gõ dấu cách
Dòng Replace: gõ dấu cách
Nhấn nút Replace All là xong
Cháu có thử Recond Macro lại mà sao nó không chạy được . nhờ mọi người hổ trợ

Mã:
Sub Macro1()
    Range("A2:A19").Replace What:=" ", Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub

View attachment 241186
Bạn thử:
PHP:
Sub Test()
    With Sheets("Sheet2")
        .Range("D2").FormulaR1C1 = "=TEXT(VALUE(RC[-3]),""dd/mm/yy hh:mm"")"
        .Range("d2:d" & .Range("A" & Rows.Count).End(xlUp).Row).FillDown
    End With
End Sub
 
Upvote 0
Bạn thử:
PHP:
Sub Test()
    With Sheets("Sheet2")
        .Range("D2").FormulaR1C1 = "=TEXT(VALUE(RC[-3]),""dd/mm/yy hh:mm"")"
        .Range("d2:d" & .Range("A" & Rows.Count).End(xlUp).Row).FillDown
    End With
End Sub

cảm ơn chú. Nhưng cháu muốn thay đổi chính là cột A luôn anh không cần xuất ra cột D nữa.

1594806933533.png
 
Upvote 0
Bạn thử code dưới đây xem đúng ý không:
Mã:
Sub Thu()
    Dim Res() As Variant, r As Long
    With ThisWorkbook.Worksheets("Sheet2")
        Res = .Cells(1, 1).Resize(.Cells(.Rows.Count, "A").End(xlUp).Row).Value
        For r = 2 To UBound(Res, 1)
            Res(r, 1) = FormatDateTime(Res(r, 1), vbGeneralDate)
        Next r
        .Cells(1, 1).Resize(UBound(Res, 1)).Value = Res
    End With
End Sub
 
Upvote 0
Bạn thử code dưới đây xem đúng ý không:
Mã:
Sub Thu()
    Dim Res() As Variant, r As Long
    With ThisWorkbook.Worksheets("Sheet2")
        Res = .Cells(1, 1).Resize(.Cells(.Rows.Count, "A").End(xlUp).Row).Value
        For r = 2 To UBound(Res, 1)
            Res(r, 1) = FormatDateTime(Res(r, 1), vbGeneralDate)
        Next r
        .Cells(1, 1).Resize(UBound(Res, 1)).Value = Res
    End With
End Sub

Code định dạng thì đúng rồi còn chưa canh lê bên phải được. Cho cháu hỏi cháu muốn thay đổi địa chỉ thì cháu thay đổi chổ nào
Ví dụ cháu muốn đổi trong vùng A1:E2000 thì cháu thay đổi chổ nào. cháu cảm ơn anh
Bài đã được tự động gộp:

Bạn thử code dưới đây xem đúng ý không:
Mã:
Sub Thu()
    Dim Res() As Variant, r As Long
    With ThisWorkbook.Worksheets("Sheet2")
        Res = .Cells(1, 1).Resize(.Cells(.Rows.Count, "A").End(xlUp).Row).Value
        For r = 2 To UBound(Res, 1)
            Res(r, 1) = FormatDateTime(Res(r, 1), vbGeneralDate)
        Next r
        .Cells(1, 1).Resize(UBound(Res, 1)).Value = Res
    End With
End Sub


Cháu làm được rồi. Cháu cảm ơn nhiều
Mã:
Sub fixloidinhdang()
Dim Cls As Range, Rng As Range
    Set Rng = Range("a2:a3000") ' input
    For Each Cls In Rng
        If Cls.Value <> "" Then
            Cls.Value = "A" & Cls.Value
            Cls.Value = CDate(Mid(Cls.Value, 2))
        End If
    Next Cls
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom